deepble

[Webhacking.kr] challenge old-3 본문

CTF/Webhacking.kr

[Webhacking.kr] challenge old-3

deepble 2024. 4. 2. 19:35

문제

webhacking.kr의 old-3의 문제 페이지를 열면 다음과 같이 네모로직을 할 수 있는 페이지가 나옵니다.


분석

 

네모로직 규칙에 맞게 문제를 풀고, solved를 눌러줍니다.

 

그러면 'clear!'이라는 메세지와 함께 name을 입력받고 있음을 확인할 수 있습니다. 

 

 

name으로 SQL 인젝션 공격이 가능할까 하여 항상 참이되는 값을 넣어줍니다. 

 

 

'submit'을 누르면 이전에 값으로 입력했던 값들과 함께 다음과 같이 리스트를 확인할 수 있습니다. SQL 인젝션 문자를 넣었지만 그대로 name에 출력되는 것을 보아 입력값에 SQL인젝션을 사용하는 것이 아니라는 생각이 들었습니다. 

 

따라서 다시 이전페이지로 가서 F12로 코드를 살펴봅니다. value값이 특정한 값으로 지정되어 있다는 것을 확인할 수 있었습니다. 이외에는 다른 힌트가 없기에 'answer'나 'ip' 변경을 시도하는 것으로 문제를 풀었습니다.


준비

풀이는 burpSuite를 이용하여 풀었습니다. 그런데 확인해보니 F12로 개발자 도구를 연 다음 코드를 변경해도 풀리기에 이 방법은 마지막에 써놓았습니다.

https://portswigger.net/burp

 

Burp Suite - Application Security Testing Software

Get Burp Suite. The class-leading vulnerability scanning, penetration testing, and web app security platform. Try for free today.

portswigger.net


풀이

BurpSuite에서 브라우저 열기
BurpSuite를 실행시킨 후 Proxy로 이동한 후 [open browser]를 눌러 브라우저를 열어주면 됩니다.

 

 

브라우저에서 문제 페이지로 이동
로그인 후 문제 페이지로 이동하여, 네모로직을 풀어준 후 이름을 입력하는 페이지로 이동합니다.

 

 

BurpSuite에서 intercept is on으로 변경
burpSuite에서 intercept is off로 되어있던 것을 on으로 변경해줍니다.

 

 

answer 값 변경하기
입력값으로 guest를 쓴 후 submit합니다. (임의로 guest로 입력한 것으로 다른 값을 입력하여도 무방합니다.)

 

burpsuite에 아래와 같이 패킷이 잡히게 됩니다. 그러면 answer="1010100000011100101011111"를 answer 값을 아래와 같이 변경한 후 [Forward]해줍니다.


추가 풀이

BurpSuite를 쓰지 않고도 문제를 풀 수 있습니다. 먼저 F12를 눌러 개발자 도구를 열어줍니다. 이후 value값에 기존에는 " 1010100000011100101011111" 이 있었지만 이를 SQL 인젝션 구문으로 바꿔줍니다. 그 후 name에 아무 값이나 입력한 뒤 submit을 하면 똑같이 문제를 해결할 수 있습니다. 

'CTF > Webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] challenge g00gle1  (0) 2024.04.05
[Webhacking.kr] challenge old-6  (0) 2024.04.04
[Webhacking.kr] challenge old-2  (0) 2024.03.27
[Webhacking.kr] challenge old-1  (0) 2024.03.27
[Webhacking.kr] challenge old-43 revenge  (0) 2024.03.27