sqli-lab全解析(Less26-Less51)(下)

2019-07-24 约 103 字 预计阅读 1 分钟

声明:本文 【sqli-lab全解析(Less26-Less51)(下)】 由作者 ghtwf01 于 2019-07-24 09:19:00 首发 先知社区 曾经 浏览数 61 次

感谢 ghtwf01 的辛苦付出!

Less26
此题我试了很多来代替空格的符号,例如%0a,%0b,%0c,%0d,%09,都被过滤了,求大佬指点,,--+和#被过滤,需要用or '1'='1来闭合,or需要双写绕过。我就用sqlmap来做,
Less27
union和select需要双写绕过,空格能够用%0a代替,--+和#还是被过滤,用or '1'='1闭合,然后就可以各种查询语句

Less28
这道题过滤union select这一个组合,也要过滤空格,所以采用union union select select方法绕过,空格照样用%0a替换
Less29
开始做挺正常,然而用到查询语句select group_concat(table_name) from information_schema.tables where table_schema=’security’时报错

采用sqlmap执行命令python sqlmap.py -u "http://127.0.0.1/sqli/Less-29/?id=1" --dbms mysql --batch -v 0 经测试成功
Less30
Less31
Less32
当输入'时被\转义,可能是因为有addslashes函数,会自动转义某些字符,考虑是宽字节注入,于是在'前加上%df,后面用--+成功闭合,然后便可以联合查询得到想要的数据

Less33
和32做法一模一样
Less34
也是一个宽字节注入,bp抓包手工测试,如图

Less35
开始以为还是一个宽字节注入,但是如果宽字节注入那么?id=1'就不会报错,后面处理按宽字节注入也法成功闭合,其实很简单,不需要任何构造,直接联合查询

Less36
同样一个宽字节注入

Less37
这算一个登录框形式的宽字节注入

Less38
这是一道堆叠注入,也就是可以执行多条sql语句,例如本题

执行该语句就增加了新用户和新密码
Less39
和38一样,只不过id是数字型,后面直接加内容就行

Less40
是一道盲注,错了但是不报出错误,猜测闭合方式

Less41
又是一道盲注,根据经验猜测闭合情况

Less42
bp抓包,账号处没有注入点,而密码有且没有任何加工处理,语句如图

Less43
和42一样,只是采用')闭合
Less44
这道题没有报错回显,是一道盲注,经过测试,语句和42一样
Less45
这道题还是一道盲注,bp抓包,尝试各种闭合,当试到为')时成功写入新用户

Less46
这道题发现用id传值传不进去,考虑是order by注入,?sort=1'时会报错,是一个数字型,所以直接在1后面加上and 和updatexml语句

Less47
和46一样是order by注入,判断出是一个单引号闭合,于是正确闭合就行

Less48
错误了但是没有报错,是一道基于时间盲注或者布尔盲注,可以采用根据ascii判断数据库、表、列、字段的每一个字母,利用语句?sort=rand(ascii(left(database(),1))=178)判断出是数字型的盲注,遇到这样的情况本想用sqlmap但是不知道怎么用,我想的是执行命令python sqlmap.py -u "127.0.0.1/sqli/Less-48/?sort=1" --level 5 --risk 3 --dbs --batch发现跑出来是错误的数据库名,求大佬指教啊qwq
Less49
也是一道盲注,可以采用基于时间的盲注,单引号闭合

Less50
数字型,采用updatexml能够报错出结果

Less51
单引号闭合,同样updatexml能行

感觉还是有好多知识盲区,写得也不太好,望师傅们斧正

关键词:[‘安全技术’, ‘WEB安全’]


author

旭达网络

旭达网络技术博客,曾记录各种技术问题,一贴搞定.
本文采用知识共享署名 4.0 国际许可协议进行许可。

We notice you're using an adblocker. If you like our webite please keep us running by whitelisting this site in your ad blocker. We’re serving quality, related ads only. Thank you!

I've whitelisted your website.

Not now