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