keyword : sql injection, cookie
요런 게시판이 존재한다. 코드 상 봐도 숨겨진 데이터는 없었다. 각 각의 게시물들을 살펴보면 다음과 같다.
세 번째 게시물인 README는 잠겨있고, 나머지 두 게시물은 봐도 뭔소리인지 잘 모르겠다. Hint
를 보아하니 password를 찾아내던 우회하던 하여 README를 읽는 게 문제해결의 시작인 것 같다.
"select szPwd from T_Web13 where nIdx = '3' and szPwd = '"&pwd&"'"
를 보아하니 Password로 입력한 값이 저 pwd에 위치하게 되는 것 같다. sql injection 문제이다. 다만 ' or 1=1 --
이 안되서 조금 헤맸는데, =이 아닌 다른 연산자를 사용해서 True로 만들어 주면 된다.
' or 1<2 -- 하니까 됬다.
auth_key 값을 알아냈다. suninatastopofworld!
그러나 아직도 README를 읽을 수는 없다. ㅇ.ㅇ??
우우어어우우ㅏ아 하다가 QnA 게시판을 살펴보니 쿠키 값을 이용하란 말을 보게 되어, Fiddler로 자세히 살펴보았다.
우선 README 게시물에 접근할 때, idx, num, passcode를 사용하여 요청하는 것을 볼 수 있었고(사실 그냥 num=3로만 접근한 적이 있다. 어쩐지 안되더라니), 쿠키 값을 보면 auth_key=????? 로 되어있다. 딱봐도 여기에 아까 찾은 auth_key 값을 넣어서 보내주면 될 것 같다.
근데 그냥 넣으면 또 안되고 다른 처리를 해줘야 한다. 여기서 또 삽질했는데, 아까 게시물 중 md5 hash 사이트를 안내해주던게 생각나서 md5로 해쉬 값을 넣어줬더니 됐다!
65038b0559e459420aa2d23093d01e4a
로 수정
제대로 되었으면 이제 README를 읽을 수 있게 되었다. 여기까지가 2단계.
으아니 기대한 것과 다르게 별게 없다. 소스코드를 봐도 별다를 건 안보이고..
다른 남은 게시물 중 PoP짱! 이게 좀 의심스러워서 구글링을 한참 해보았지만 별게 나오지는 않았다.
혹시나 싶어 다시 README의 소스를 살펴보던 와중 조금 의심스러운게 보였음.
<BODY>
<table width="100%" cellpadding="0" cellspacing="0">
<form method="post" name="KEY_HINT" action="Rome's First Emperor">
<tr>
<td align="center">
<table cellpadding="0" cellspacing="0">
진짜 action으로 저거 하는 줄 알고 찾아보다가, 설마하고 읭 진짜 키 힌트인가하고 입력해보니 ㄹㅇ이엇음..
흠 꽤나 재미있었다.
'Write-up' 카테고리의 다른 글
[SuNiNaTas] level 8 (0) | 2019.04.13 |
---|---|
[SuNiNaTas] level 7 (0) | 2019.04.13 |
[SuNiNaTas] level 5 (0) | 2019.04.13 |
[SuNiNaTas] level 4 (0) | 2019.04.13 |
[SuNiNaTas] level 3 (0) | 2019.04.13 |