开始挑战第十四关(Double Injection- Double quotes- String) 访问地址,输入报错语句 '  ''  ')  ") - 等使其报错 分析报错信息 很明显是需要采用双引号进行闭合,开始利用and来测试 猜解字段数,这里是2个 union select联合查询,加入使其报错 木有反应,那我们再试试报错函数,这里我使用updatexml来玩玩 获取数据库,版本,用户信息 获取表名 获取字段名 获取数据…
payload:http://192.168.48.130/sqli-laaess-6/?id=1" and updatexml(1,concat(0x7e,(SELECT schema_name from information_schema.schemata limit 8,1),0x7e),1)--+ 后面就不写了 ,麻烦…
开始挑战第二十四关(Second Degree Injections) 0x1 前言 SQL注入一般分为两类:一阶SQL注入(普通SQL注入),二阶SQL注入 .二次注入不是注入两次的意思,请不要混淆 0x2 什么是二阶注入 二阶注入是指客通过构造数据的形式,在浏览器或者其他软件中提交HTTP数据报文请求到服务端进行处理,提交的数据报文请求中可能包含了黑客构造的SQL语句或者命令信息.虽然参数在过滤后会添加 “\” 进行转义,但是“\”并不会插入到数据库中,这样就可以利用这个构造一个二次注入.…
开始挑战第十三关(Double Injection- String- with twist) 访问地址,输入报错语句 '  ''  ')  ") - 等使其报错 分析报错信息 很明显是需要采用单引号和括号进行闭合,开始利用and来测试 猜解字段名,这里是2个字段 union select联合查询,加入使其报错 靠,又没有报错,那我们就用报错语句来测试吧,这次我使用extractvalue()函数玩玩 显示版本,数据库 获取用户名 获取字段名 获取数据…
废话不在多说  let's go! 开始挑战第五关(Double Query- Single Quotes- String) 和第六关(Double Query- Double Quotes- String) 首先访问我们的环境,加入id参数,输入 ' 出现报错,对报错信息进行分析 从上图很明显,直接利用单引号进行闭合,输入and 1=1 和1=2进行报错测试 继续使用order by进行查询字段,正确的为3个字段数 union select联合查询,加入-号进行报错, 靠,没有任何的反应,这就…
insert注入的技巧在于如何在一个字段值内构造闭合. insert 报错注入 演示案例所用的表: MariaDB [mysql]> desc test; +--------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+----------+------+-----+---------+-------+ | id | int(10) | Y…
0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入方式 payload: http:;, 0x3 第四十二关 本关打开是post,新建用户和重置密码处都无法访问Update更新数据后,经过mysql_real_escape_string()处理后的数据,存入到数据库当中后不会发生变化.在select调用的时候才能发挥作用.所以不用考虑在更新密码处进…
开始挑战第三十四关和第三十五关(Bypass add addslashes) 0x1查看源码 本关是post型的注入漏洞,同样的也是将post过来的内容进行了 ' \ 的处理. if(isset($_POST['uname']) && isset($_POST['passwd'])) { $uname1=$_POST['uname']; $passwd1=$_POST['passwd']; //echo "username before addslashes is :"…
开始挑战第二十三关(Error Based- no comments) 先尝试下单引号进行报错 再来利用and来测试下,加入注释符#,编码成%23同样的报错 再来试试--+,同样的效果 同样的,先看看源代码,这里利用正则查找,对注释符等都进行了过滤 这里一来,注释符不能使用了,只能采用单引号闭合的方法来绕过了,成功 接下来构造语句来获取数据库 此处讲解几个知识点: 1.ID = -1,为什么要用-1,因为SQL语句执行了两个选择语句,第一个选择为ID的选择语句,第二个为我们构造的选择语句.只有一…
开始挑战第二十六关(Trick with comments and space) 0x1看看源代码 (1)过滤了#  or and  /**/  /  \ ,通过判断也过滤了空格 (2)这样一来只能看看其他方式绕过吧,网上找了些资料,对于绕过空格限制有大把的方式对于空格,有较多的方法:%09 TAB键(水平).%0a 新建一行.%0c 新的一页.%0d return功能.%0b TAB键(垂直).%a0 空格,可惜老天对我太不眷顾了,个个都用不了,最后查到说是因为window下apache解析的…