前言

昨天课太多了 没时间更新 过两天更个差不多的题型的 那个我写详细些 这两天课有点多

报错注入

经过尝试发现User Name处不存在注入点(多试试没反应)

查看源码发现User Name处被处理了 $uname=check_input($_POST['uname']);

但New Password 的位置没有过滤 尝试在New Password 处注入

发现是报错注入

前面就是正常的报错注入

但mysql不允许更新的表和改的表是同一个表 

当我们查的最后时会报错 我们通过(select * from(select ...)x)嵌套子查询

(select * from(select ...)x)嵌套子查询(别名 x 是 MySQL 要求,否则会报错),核心是执行内层的 select concat(username,':',password) from users limit 0,1:

所以post内容为

1' and extractvalue(1,concat(0x7e,(select * from(select concat(username,':',password) from users limit 0,1)x)))#&submit=Submit&uname=admin

总结

(select * from(select ...)x)嵌套子查询(别名 x 是 MySQL 要求,否则会报错),核心是执行内层的 select concat(username,':',password) from users limit 0,1:
mysql不允许更新的表和改的表是同一个表

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐