CTF SQL 注入题解(字符长度限制下的手工注入)
今天没事打打 CTF,本以为遇到 SQL 注入的题就丢 sqlmap 就行了,于是看到了下面这个图:
ctf-show.png实际上,sqlmap 在字符长度限制下的表现是这样的:
- 上限 ≥ 60 字符:正常直接上
sqlmap,-r post.txt --level 2 --risk 2,可以完整探测、脱库。 - 上限 20‑50 字符:
sqlmap可以用来确认漏洞,但是盲注 payload 容易超限,部分功能失效。 - 上限 ≤ 20 字符(像 web196 只有 16):
sqlmap基本无法正常工作,只能手工注入。
这道题就只能手工注入了。观察他的表达式,过滤空格,构造 payload:username=1;select(2)&password=2
注入效果如下图所示:
ctf-show.png