websec.fr level11 write up
2018. 7. 10. 12:28
레드벨벳 아이린
해당 문제의 힌트로 AS 가 주어졌는데 코드를 보면 as 가 필터링되어 있는 것을 알 수 있다.
/* Rock-solid too! */
$special1 = ["!", "\"", "#", "$", "%", "&", "'", "*", "+", "-"];
$special2 = [".", "/", ":", ";", "<", "=", ">", "?", "@", "[", "\\", "]"];
$special3 = ["^", "_", "`", "{", "|", "}"];
$sql = ["union", "0", "join", "as"];
$blacklist = array_merge ($special1, $special2, $special3, $sql);
근데 MySQL에서와 마찬가지로 Alias function은 as 라는 특정 키워드가 없어도 적용할 수 있기 때문에, 우리는 이것을 우회할 수 있다.
select id a, password b from table
이런 식으로 우회가 가능하다는 것이다.
또, 우리는 $table 값을 조작할 수 있기 때문에 Sub-query function을 이용해서 table의 내용을 임의로 바꿀 수 있다.
[*] exploit code : https://github.com/ch4n3-yoon/write-ups/blob/master/websec.fr/level11/exploit.py
'write-ups > websec.fr' 카테고리의 다른 글
websec.fr level19 write-up (0) | 2020.03.16 |
---|---|
websec.fr level13 write-up (0) | 2020.03.15 |
websec.fr level09 write up (0) | 2018.07.10 |
websec.fr level22 write up (0) | 2018.07.04 |
websec.fr level24 write up (0) | 2018.07.04 |