sql注入绕过之sqlmap的数据包换行问题
2022/4/26 19:12:49
本文主要是介绍sql注入绕过之sqlmap的数据包换行问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
sql注入绕过之sqlmap的数据包换行问题
autoDecoder例
碰到个SQL注入,但是网站有防护,如图:
可以通过change body encoding
来绕过waf
但是当我们放到sqlmap中跑注入,发现报500错误,后续可以通过autoDecoder来解决,详细如下:
数据包是Content-Type: multipart/form-data;
的注入
但是sqlmap不识别\r\n
的符号,所以无法跑出注入
使用sqlmap --proxy=http://127.0.0.1:8080
代理到burp查看请求
原因就在于\n
符号,sqlmap不知道什么原因无法识别请求体的换行为\r\n
,导致请求全是500,报错了
http数据包里的换行应该为\r\n
,可以编写autoDecoder的flask脚本解决问题
flask脚本如下:
# -*- coding:utf-8 -*- # author:f0ngf0ng # 解决sqlmap中的\n无法识别为\r\n问题 from flask import Flask,request app = Flask(__name__) @app.route('/encode',methods=["POST"]) def encrypt(): param = request.form.get('data') # 获取 post 参数 param = param.replace("\r\n","\n") data = param.replace("\n","\r\n") print(bytes(data,encoding="utf-8")) return data @app.route('/decode',methods=["POST"]) # 不解密 def decrypt(): param = request.form.get('data') # 获取 post 参数 return param if __name__ == '__main__': app.debug = True # 设置调试模式,生产模式的时候要关掉debug app.run(host="0.0.0.0",port="8888")
autoDecoder
插件配置如下:
即可识别
数据库正常跑出:
https://github.com/f0ng/autoDecoder
这篇关于sql注入绕过之sqlmap的数据包换行问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南