본문 바로가기

웹해킹/webhacking.kr

webhacking.kr old 27번 문제풀이(Writeup)

반응형

webhacking.kr old 27번 문제풀이(Writeup)

old 27번 문제풀이 1


문제를 들어가면 위와 같이 출력된다. SQL Injection문제이고, 이번엔 view-source가 있어서 힌트를 바로 찾을 수 있어
보인다.



old 27번 문제풀이 2

먼저 눈에 띄는건 preg_match를 통해서 필터링이 되고 있다는 점이고, query는 저번에 풀었던 SQL 문제와 비슷하다.
chall127 테이블에 id 열을 참조한다. 이때 id=guest이고 no가 __이면 query가 성공한다.

주석에 admin's no = 2라고 나와있기에 이번에도 난이도가 높지 않은 문제라고 생각된다.



old 27번 문제풀이 3

guest라고 입력했을 때, query error가 출력되고, 1을 넣었을 때 guest가 출력되는 모습이 보인다.




old 27번 문제풀이 4

그래서 no=2를 했고, query error가 나왔다.
이제 어떤 메커니즘으로 문제가 구성되어 있는지 알았다. query에 맞게 공격문을 아래와 같이 성했다.

no=0) or no = 2 --
no=0)%09or%09no%09like%092%09--%09

여기서 %09는 공백을 우회할 때, like는 등호(=)를 우회할 때 사용하는 방법이다

먼저 no=0)는 기존의 query문을 false가 나오도록해서 닫고 or로 연결해서 no 변수값에 2를 넣었다.




old 27번 문제풀이 5

구성한 공격문을 입력했더니 성공 메시지가 출력되었다.



이번 문제는 SQL Injection에서 간단하게 우회 기법을 사용하여 해결하는 문제였다. 생각보다 쉽게 해결하였다.

728x90