본문 바로가기

WarGame/webhacking.kr

[webhacking.kr] Challenge 08 :: SQL Injection (Multi-Records 삽입)


▼ Challenge 08은 다음과 같습니다.



 php 코드는 다음과 같습니다.



getenv() : 환경 변수 값을 반환


"."과 "/" 문자를 "_" 문자로 치환된 USER_AGENT 값과 REMOTE_ADDR (ip) 값을 DB에 'guest'라는 ID로

 INSERT 하고, SELECT 해서 "admin"의 USER_AGENT 값과 일치하면 문제가 풀리게 됩니다.


INSERT 구문에서 "guest"라는 ID 대신 "admin"이라는 ID를 넣는다면, 

쉽게 SELECT 값을 "admin"으로 만들 수 있을 것 같습니다.


 다음과 같은 Query 문을 만들 수 있습니다.



주석으로 뒷 부분을 제거하면, 'admin'이라는 ID를 만들 수 있습니다.


 다음과 같이 USER_AGENT는 Burp Suite로 변경할 수 있습니다.




또 다른 방법으로는, 

 다음과 같이 INSERT 구문에 다중 Data를 삽입할 수 있습니다.



 이 방법을 이용하면, 실제 전송할 User-Agent 값은 다음과 같습니다.