Wargame/Webhacking.kr

[Webhacking.kr] 8번

h4won 2021. 5. 4. 00:16

sql injection 문제

 

문제 화면 접속

 

view source

소스 코드를 보면 특정 HTTP_USER_AGENT 인 id 값을 가져와 $ck에 저장한다.

그리고 $ck 값이 존재하고 "admin" 일 경우 solve() 가 실행된다.

$ck 값이 존재하지 않을 경우엔 insert 문을 통해 agent, ip, id 값들을 추가한다.

-> 버프 스위트를 이용해 "admin" 을 추가하면 될 것 같다.

 

User-Agent 에 a','1','admin'),('b 를 추가하였다.

 

이는 실제 INSERT 문에서 다음과 같이 동작할 것이다.

INSERT INTO chall8(agent,ip,id) VALUES('a', '1', 'admin'), ('b', '{$ip}', 'guest')

 

 

F5로 새로고침을 한 뒤, User-Agent 를 아까 admin으로 설정한 값인 a 로 바꿔주면 된다.

 

 

 

성공!