Web Gauntlet (170 + 300)
Filtered SQLite injection
Problem
Web Gauntlet 2
This website looks familiar... Log in as admin
Site: http://mercury.picoctf.net:35178/
Filter: http://mercury.picoctf.net:35178/filter.php
Web Gauntlet 3
Last time, I promise! Only 25 characters this time.
Solution
Web Gauntlet 2
Username: adm' || trim('in',
Password: ) || '
This will cause the following SQL statement to be executed:
Notes:
||
is the SQLite concatenation operator.trim(string, character)
will removecharacter
fromstring
. Here, it is simply for us to ignore theAND
condition by treating' AND password='
as a string. Since' AND password='
does not appear in'in'
,trim('in',' AND password=')
will simply return'in'
.The above SQL statement is thus equivalent to:
Which is equivalent to:
We can now check out the filter page:
Web Gauntlet 3
The length requirement is down from 35 characters to 25 characters. Our above solution works for this challenge as well!
Last updated