这个叫诗龙的cms真的很感谢他的编写人,全站注入~~一些特别白痴的就不说了,这里有一个相对有点意思的 很明显的注入,然后去直接利用报错注入想爆出数据结果发现没有开报错模式. 报错注入http://www.2cto.com/article/201107/96122.html这篇文章写得挺好的. 思路很清楚了,只能盲注. 之前实战确实太少了,values后面的盲注我还是第一次遇到,之前只知道values后面可以直接跟select. 本地先测一发. 这个睡了一分多钟完全是在意料之外,这个原因也没有去深…
题目地址:http://ctf5.shiyanbar.com/web/wonderkun/index.php 根据提示  “我要把攻击我的人都记录db中去!”  猜测这是insert into注入,会向数据库储存ip地址,所以注入点便是我们的ip,而ip可以用X-Forwarded-For伪造 由于注入点的特殊,这里注入是不能用逗号的,因为服务器在从X-Forwarded-For中取ip的时候,会把逗号作为分割符区分多个ip,一般会取第一个作为用户真实ip进行储存,所以我们传输的数据,只有第一个…
insert注入的技巧在于如何在一个字段值内构造闭合. insert 报错注入 演示案例所用的表: MariaDB [mysql]> desc test; +--------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+----------+------+-----+---------+-------+ | id | int(10) | Y…
0x01 前言 已经有一周没发表文章了,一个朋友叫我研究maccms的代码审计,碰到这个注入的漏洞挺有趣的,就在此写一篇分析文. 0x02 环境 Web: phpstudySystem: Windows 10 X64Browser: Firefox QuantumPython version : 2.7Tools: JetBrains PhpStorm 2018.1.6 x64.Seay代码审计工具 搭建这个程序也挺简单的,也是一步到位. 0x03 漏洞复现 首先在程序的后台添加一条数据 执行我…
前言 好长时间没有写过东西了,不是不想写,仅仅只是是一直静不下心来写点东西.当然,拖了这么长的时间,也总该写点什么的.近期刚刚上手安全方面的东西,作为一个菜鸟,也本着学习的目的,就谈谈近期接触到的安全方面的问题吧. 背景 既然提到了背景,那我们就简单的带一下,近期互联网上爆出了各种惊人的事件.各种门.各种照的,归根结底,都是网络安全出的问题,有的是网络被别人监控了,广大群众的生活工作都处在人家的眼皮底下,一举一动都逃不出人家的"法眼":还有的是一些商家的server被黑,usernam…
野草网站管理系统(WEEDCMS)是由野草独立基于PHP+MYSQL开发的内容管理系统.面向企业.个人.小门户等中小规模网站使用而开发的.采用国际上比较流行Smarty引擎和敏捷的JQuery JS框架. 在tools.net上看到有人公布了Weedons的USER_AGENT盲洼漏洞,漏洞影响Weedcms的4 0版和最新的WeedCMS v5.O build 20110101版本,下面我就把这个漏洞介绍给大家. 一.漏洞简单分析 这个漏洞的公布者是sswowo,sswowo已经进行了比较详细…
0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入方式 payload: http:;, 0x3 第四十二关 本关打开是post,新建用户和重置密码处都无法访问Update更新数据后,经过mysql_real_escape_string()处理后的数据,存入到数据库当中后不会发生变化.在select调用的时候才能发挥作用.所以不用考虑在更新密码处进…
1.布尔盲注burpsuit的使用 先自己构造好注入语句,利用burpsuit抓包,设置变量,查出想要的信息. 比如----查数据库名的ascii码得到数据库构造好语句 http://123.206.227.79/Less-8/?id=1' and ascii(sbustr(database(),1,1))=1 --+ 抓包,发送到intruder,设置变量 第一个变量设置为numbers 1到8,第二个变量也设置为numbers 0到127    开始爆破, 2.post注入 其实并没有什么变…
1 简介     1.1 普通SQL注入技术概述     目前没有对SQL注入技术的标准定义,微软中国技术中心从2个方面进行了描述[1]:     (1) 脚本注入式的攻击     (2) 恶意用户输入用来影响被执行的SQL脚本 根据Chris Anley的定义[2], 当一个攻击者通过在查询语句中插入一系列的SQL语句来将数据写入到应用程序中,这种方法就可以定义成SQL注入.Stephen Kost[3]给出了这种攻击形式的另一个特征,“从一个数据库获得未经授权的访问和直接检索”,SQL注入攻…
机缘巧合接触了一点关于sql注入的网络安全问题 依托 headers 的 sql 注入 一般来说大家都很清楚用户输入的危险性,通常会对用户表单提交的数据进行过滤(引号转码). 但是如果写过网络爬虫,那么就很清楚其实http的headers 也是由用户自己构造的,因此对一些从headers获取的变量就不能掉以轻心.比如<strongstyle="color:#890729;">userAgent, ip等. 这里有一个sql注入的题目:who are you? -- http…
盲注漏洞,登陆失败和注入失败显示的同一个页面 可以用sleep函数通过延时判断是否闭合引号成功 这个方法有一点不好的地方在于,并不能去控制延时,延时的时间取决于users表中的数据数量和sleep函数的参数 login_user=&login_password=1' or sleep(0.1)# 14条数据延时了1.4s 但延时的出现就证明引号闭合成功了 login_user=&login_password=1';insert into users(id,username,password…
转自cdxy师傅:https://www.cdxy.me/?p=789 PWNHUB 一道盲注题过滤了常规的sleep和benchmark函数,引发对时间盲注中延时方法的思考. 延时函数 SLEEP mysql); +----------+ ) | +----------+ | +----------+ row in set (5.00 sec) BENCHMARK mysql,sha()); +----------------------------+ ,sha()) | +---------…
地址:http://ctf5.shiyanbar.com/web/wonderkun/index.php 这道题点开看见your ip is :xxx.xxx.xx.xxx 试了一些 最后发现是XFF注入 不过首先要进行ip伪造 X-Forwarded-For Client-IP x-remote-IP x-originating-IP x-remote-add 发现X-Forwarded-For可以伪造. 题目说: 我要把攻击我的人都记录db中去! 猜测这是一个INSERT INTO的注入.…
首先观察这个web应用的功能,可以任意留言,也可以搜索留言,当然我还用cansina扫描过网站,查看过源码,抓包查看过header等.没发现其他提示的情况下断定这就是个sql注入,可能存在的注入点呢,就是留言时产生 insert into 注入,或者搜索时产生的 like '%xx%' 注入.经过多次尝试,发现留言板不存在注入点,注入点就在搜索功能中. 有过网站开发经验的应该很清楚搜索功能一般是这样实现的 select * from users where name like '%tom%';…
转:http://hi.baidu.com/duwang1104/item/65a6603056aee780c3cf2968 1 简介     1.1 普通SQL注入技术概述     目前没有对SQL注入技术的标准定义,微软中国技术中心从2个方面进行了描述[1]:     (1) 脚本注入式的攻击     (2) 恶意用户输入用来影响被执行的SQL脚本 根据Chris Anley的定义[2], 当一个攻击者通过在查询语句中插入一系列的SQL语句来将数据写入到应用程序中,这种方法就可以定义成SQL…
首先什么是SQL注入: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. SQL注入有什么危害? 危害:数据泄露.脱库.篡改网站.破坏数据库.植入后门.getshell(获取网站权限) 为什么会有SQL注入漏洞? 后端代码在执行的过程将用户输入的数据也当做代码来执行,违背一个原则:代码和数据相分离(本质问题) 前段传递的数据可以随意控制,参数可控:后端对前段传递过来的数据没有过滤或者过滤不严谨,最终导致SQL注入(…
1. SQL盲注.SQL注入   风险:可能会查看.修改或删除数据库条目和表.   原因:未对用户输入正确执行危险字符清理.   固定值:查看危险字符注入的可能解决方案. 2. pom.xml添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <op…
在很多注入时,有很多注入会出现无回显的情况,其中不回显的原因可能是SQL查询语句有问题,这时候我们需要用到相关的报错或者盲注进行后续操作,同时作为手工注入的时候,需要提前了解SQL语句能更好的选择对应的注入语句. select 查询语句 查询语句: select * from news where id = $id insert 插入数据 在网站中进行新用户增加删除等操作 insert into news(id,url,text) values(2,'du','tutu') delete 输出数…
SQL测试-基于布尔,延时盲注 布尔,延时注入常用到的判断语句 regexp regexp '^xiaodi[a-z]' 匹配xiaodi及xiaodi...等 if if(条件,5,0) 条件成立 返回5 反之 返回0 sleep sleep(5) SQL语句延时执行5秒 mid mid(a,b,c)从位置 b 开始, 截取 a 字符串的 c 位 substr substr(a,b,c)从 b 位置开始, 截取字符串 a 的 c 长度 left left(database(),1),datab…
无需页面报错,根据页面响应时间做判断! mysql基于时间的盲注 ====================================================================================================================================================================== * 猜解库名 - 下面是猜解正确 mysql> select sleep(1) from (sele…
我们都已经知道,在MYSQL 5+中 information_schema库中存储了所有的 库名,表明以及字段名信息.故攻击方式如下: 1. 判断第一个表名的第一个字符是否是a-z中的字符,其中blind_sqli是假设已知的库名. 注:正则表达式中 ^[a-z] 表示字符串中开始字符是在 a-z范围内 index.php?id=1 and 1=(SELECT 1 FROM information_schema.tables WHERE TABLE_SCHEMA="blind_sqli"…
-----------------------------------------MYSQL 5+----------------------------------------- 我们都已经知道,在MYSQL 5+中 information_schema库中存储了所有的 库名,表明以及字段名信息.故攻击方式如下: 1. 判断第一个表名的第一个字符是否是a-z中的字符,其中blind_sqli是假设已知的库名. 注:正则表达式中 ^[a-z] 表示字符串中开始字符是在 a-z范围内 index.…
SQL盲注 [SQL注入介绍] SQL盲注:不显示数据库内建的报错信息[内建的报错信息帮助开发人员发现和修复问题],但由于报错信息中提供了关于系统的大量有用信息.当程序员隐藏了数据库内建报错信息,替换为通用的错误提示,SQL注入将无法依据报错信息判断注入语句的执行结果,即为盲注. 思路:既然无法基于报错信息判断结果,基于逻辑真假的不同结果来判断 a.  1' and 1=1--+ b.  1' and 1=2--+    [输入前真后假,无返回,页面没被执行] ###a与b比较,表明存在SQL注…
Title:UPdate 延时盲注之小技巧  --2014-06-05 15:21 UPDATE TABLEZZZ SET zz=111111 where id=$id 当TABLEZZZ表为空的时候,注入方式(其实通用有值无值): UPDATE TABLEZZZ SET zz=111111 where id=if(2>1,sleep(4),0) Sleep的时间为4*2=8s.…
00x0 引言 早上起来,发现seebug更新了一批新的洞, 发现zzcms8.2这个洞好多人在挖,于是我就默默的踏上了复现之路(要不是点进去要买详情,我何必这么折腾~) 环境:zzcms8.2(产品招商型) php-5.4.45 . mysql-5.5.53 01x0 任意用户密码重置 01x1 任意用户密码重置方式一 话说,这个洞的标题应该是任意前台用户密码重置,后台管理员重置不了的,或许是我复现的问题.~~ 先注册个账号,然后首页点击找回密码. 地址:http://localhost/on…
who are you? 翻翻源码,抓抓包,乱试一通都没有什么结果 题目中提示有ip,立马应该联想到X-Forwarded-For 虽然知道是这个方面的题,但完全不知道从何入手,悄咪咪去翻一下wp 才知道原来X-Forwarded-For后面的的参数是先入数据库再取出来,并不是直接显示的 所以这里的X-Forwarded-For应该是存在注入的(果然是大佬,学到了) 而且经过测试,','以及后面的内容都会被过滤,这就导致我们的传统注入语句失效了 查了一下,这里需要用到select case wh…
建议阅读 Time-Based Blind SQL Injection Attacks 基于时间的盲注(time-based blind) 测试应用是否存在SQL注入漏洞时,经常发现某一潜在的漏洞难以确认.这可能源于多种原因,但主要是因为Web应用未显示任何错误,因而无法检索任何数据. 对于这种情况,要想识别漏洞,向数据库注入时间延迟并检查服务器响应是否也已经延迟会很有帮助.时间延迟是一种很强大的技术,Web服务器虽然可以隐藏错误或数据,但必须等待数据库返回结果,因此可用它来确认是否存在SQL注…
方式一:遍历ascii码的方式 一.判断数据库类型 and (select count(*) from sysobjects)>0 二.获取数据库 and ascii(substring((select top 1 name from master.dbo.sysdatabases),1,1)) >= 109 # 第一个 and ascii(substring((select top 1 name from master.dbo.sysdatabases where name not in (…
当时做这题的时候,写了脚本,用的if(mid())<>来爆破的,可能因为写脚本不擅长,写的太乱了,直接把payload写进mid里,整个一堆,然后括号对着WP看的时候,少了好几个括号,导致爆破失败,真的臭FIVE.首先来复现一遍把 一般都是习惯性查看源代码, . 其实就是过滤了一些函数和and,=等  ,这些被过滤的话,而且对应着 我一开始想到的就是bool盲注,用if(0,1,2),if(1,1,2)测试过.然后一般是有两种尝试方式,一种是ascii+substr或者if+mid.我一开始就…
前面的文章都是基于目标会返回错误信息的情况进行判断是否存在SQL注入 我们可以轻易根据数据库报错信息来猜测SQL语句和注入方式 如果程序员做得比较好,不显示错误信息,这种情况下得SQL注入称为SQL盲注 猜测是否存在SQL注入: 1' and 1=1 -- 如果正确返回ID为1的信息,那么可以猜测存在SQL注入漏洞 再输入: 1' and 1=2 -- 如果什么都不返回,到这里就可以确定存在SQL注入了 猜测查询的字段数: 1' order by 5 -- 发现什么都没有返回,说明该查询的字段少…