ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

sql注入绕过之sqlmap的数据包换行问题

2022-04-26 16:03:08  阅读:247  来源: 互联网

标签:sqlmap __ autoDecoder data app param sql 数据包


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

标签:sqlmap,__,autoDecoder,data,app,param,sql,数据包
来源: https://www.cnblogs.com/f0ng/p/16195103.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有