본문 바로가기

wargame/WEBHACKING.kr

[WEBHACKING.kr]23

23

문자열을 삽입하라는 문제이다.

코드를 확인해보았다.

<html>
<head>
<title>Challenge 23</title>
<style type="text/css">
body { background:black; color:white; font-size:10pt; }
input { background:silver; color:black; font-size:9pt; }
</style>
</head>
<body>
no hack<form method=get action=index.php>
<table border=0 cellpadding=10>
<tr><td><input name=code></td><td><input type=submit></td></tr>
</table>
</form><br><br>

Your mission is to inject<script>alert(1);</script>
<br><br>

</body>
</html>

별 거 없었다. 한 번 그대로 넣어보기로 했다.

no hack이라고 나온다.
injection 문제인 거 같은데 아직은 감이 안 잡혀서 이것저것 해보기로 했다. alert나 script를 입력하면 no hack이라고 뜬다.

a를 입력해보았다.

오 드디어 다른 반응이다. 이 외에도 <, >, 1, ;는 입력한대로 출력되었다. 그래서 alert와 script를 우회하면 잘 출력될 것 같았다.


실패1 - 대문자와 소문자를 섞어 써도 실패했다.

실패2 - 일부만 입력해도 실패했다.

실패3 - md5로 복호화해도 실패했다. sha-1도 실패했다.

실패4 - ascii 코드로 치환해도 실패했다.

실패5 - sbstr 함수를 써도 실패했다.

이쯤되니 문자열 자체가 막힌 건가 싶어서 substr을 입력해보았다. no hack인 걸 보니 문자열은 다 막히는 것 같았다. 어떻게 우회해야 할까 검색해보았다.

null bite(%00)를 쓰면 필터링 되는 걸 막을 수 있다고 한다.

'wargame > WEBHACKING.kr' 카테고리의 다른 글

[WEBHACKING.kr]15  (0) 2019.07.01
[PHP]str_replace 함수 우회하는 방법  (0) 2019.07.01
[WEBHACKING.kr]24  (0) 2019.07.01
[WEBHACKING.kr]17  (0) 2019.07.01
[WEBHACKING.kr]16  (0) 2019.06.03