zoukankan      html  css  js  c++  java
  • sqli-labs(六)

    第十一关:

    这关是一个登陆口,也是一个sql注入的漏洞,也就是常说的万能密码。

    在输入框账号密码种分别输入 1'  和1'  页面会报错。

    后台使用的单引符号进行的拼接。账号输入1' or '1'='1   密码输入 1' or '1'='1

    其实输入任意账号  密码输入1' or '1'='1也可以进去。

    这关是考验报错注入,其实我个人感觉应该是有盲注的,但是我使用1' or ascii(substr((select user()),1,1)>64 #  注入时会报错,目前不知道是什么原因。(补充:后来发现是可以盲注的,这里的语句写错了,少了一个右括号,应该是1' or ascii(substr((select user()),1,1))>64 #     !!!! 好吧 ,手工就是容易出错)

    这里还是先使用报错注入吧:

    这里先介绍一下报错函数extractvalue(),在hackbar种输入输入如下

    uname=1&passwd=1' and extractvalue(1,concat(0x7e,(select schema_name from information_schema.schemata  limit 0,1))) #&submit=Submit

    -------------------------------------------------------------------------------------------------------------分割线------------------------------------------------------------------------------------------

    上面说了本来想用盲注的,但是总是不成功。于是我就想文件中的报错语句注释后使用sqlmap跑了一次(这个时候应该是不存在上面所说的报错注入了)

     使用sqlmap跑了一次,发现还是能抛出注入漏洞,如下图:

    好吧!联合注入,第一关的类容。。。。。说明我们还是得灵活运用才行啊。。。

    如下图:查询得信息会在用户信息中显示出来

    第十二关:

    输入' 和" 页面都没有任何变化,这里有点意思的是如果后台是'''(三个单引号),sql执行会报错,但如果是"""(三个双引号),sql执行却不会报错。如下图

    所以这个时候我们最好输入'"(一个单元符号一个双引符号),来让程序报错从而判断后来sql是怎么进行拼凑的(如果有报错信息的话)

    可以看到这里应该使用双引符号,然后再加上括号的形式。

    后面就好办了,post数据输入uname=1") or 1=1 #&passwd=1&submit=Submit

    成功登陆,后面的操作就和十一关一样了

  • 相关阅读:
    实验一
    requests/lxml的简单用例
    使用python的cookielib加载已保存的cookie维持登录状态
    计算机系统要素
    python实现部分实例
    ch2
    迷了迷了,外国人都看不懂的英语
    图形学名词解释
    ch17
    ServletConfig
  • 原文地址:https://www.cnblogs.com/jinqi520/p/9533530.html
Copyright © 2011-2022 走看看