view-source
<?php
include "../../config.php";
if($_GET['view_source']) view_source();
?><html>
<head>
<title>Challenge 11</title>
<style type="text/css">
body { background:black; color:white; font-size:10pt; }
</style>
</head>
<body>
<center>
<br><br>
<?php
$pat="/[1-3][a-f]{5}_.*$_SERVER[REMOTE_ADDR].*\tp\ta\ts\ts/";
if(preg_match($pat,$_GET['val'])){
solve(11);
}
else echo("<h2>Wrong</h2>");
echo("<br><br>");
?>
<a href=./?view_source=1>view-source</a>
</center>
</body>
</html>
์ฌ์ฉ์๋ก๋ถํฐ val์ด๋ผ๋ ์ด๋ฆ์ GET ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค,
๋ง์ฝ์ ์๋์ ์ ๊ทํํ์์ ์ฐธ์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ฉด ์ ๋ต์ฒ๋ฆฌ
/[1-3][a-f]{5}_.*$_SERVER[REMOTE_ADDR].*\tp\ta\ts\ts/
$_SERVER[REMOTE_ADDR]๋ ์ ์์์ ์์ดํผ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ๋๋ฌธ์ ์์ดํผ ํ์ธ ์ฌ์ดํธ(https://ip.pe.kr/ )์์ ์์ ์ ์ฃผ์๋ฅผ ์ฐพ๊ณ , ๋๋จธ์ง ์ ๊ทํํ์๋ค์ด ๋ง์กฑํ๊ฒ๋ ๊ฐ์ ์ถ๊ฐํ๋ฉด ๋๋ค.
์๋์ ์ฐ์ต ์ฌ์ดํธ์์ ์ ๊ทํํ์ ์กฐ๊ฑด์ ๋ฃ์ด์ ์ง์ ํ์ธํด ๋ณด์๋ค.
RegExr: Learn, Build, & Test RegEx
RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).
regexr.com
๋์ถฉ ๋ด ์์ดํผ๊ฐ 192.168.0.1์ด๋ผ๊ณ ๊ฐ์ ์ ํ๊ณ ๋๋จธ์ง๋ ์์์ ์ฑ์์ค๋ค.
[1-3]: 1~3๊น์ง ์๋ฌด ์ซ์
[a-f]{5}: a~f๊น์ง ์๋ฌด ๋ฌธ์ ๋ค์ฏ ๊ฐ ์ฐ์
_: _(์ธ๋๋ฐ)
.*: ์ ์ ์๋ฌด ๋ฌธ์๋ฅผ ๊ฐ์ ธ์ค๋๋ฐ ๋ค์ *์ด ๋ถ์ผ๋ฉด ๊ฐ์ด ์์ด๋ ์๊ด์ด ์๋ค.
192.168.0.1: ์ด๊ณณ์ ์์ ์ ์์ดํผ๋ก ๋์ฒด
\t: ํญ
๊ทธ๋์ ๋์จ ๊ฒฐ๊ณผ๋"1aaaaa_192.168.0.1. p a s s"์ด๋ค.
๋น์ฐํ ์ด๊ฑธ ๊ทธ๋๋ก ๊ฑด๋ค์ฃผ๋ฉด ์ ๋ต์ฒ๋ฆฌ๊ฐ ์ ๋๋ค. ์๋๋ฉด p a s s ์ด ๋ถ๋ถ์ ํญ์ ์ฃผ๊ณ ๊ฑด๋ค์ฃผ์์ง๋ง ์๋์ผ๋ก ์ฌ๋ผ์ง.
๊ทธ๋ฌ๋ฏ๋ก URL-encoding์ผ๋ก ํญ์ ์์ ํด ์ค๋ค.
https://www.eso.org/~ndelmott/url_encode.html
URL-encoding Reference
www.eso.org
ํญ์ %09์ด๋ผ ํ๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ด ์์
1aaaaa_192.168.0.1.%09p%09a%09s%09s
๋ค์ ์ฃผ์ ๋ถ๋ถ์ ์ ๋ ฅ์ ํ๋ฉด, ์ฑ๊ณต์ฒ๋ฆฌ๊ฐ ๋์๋ค.
'๐ดCTF > webhacking.kr' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
webhacking.kr - old-39 (0) | 2023.05.31 |
---|---|
webhacking.kr - old-04(Challenge 4) (1) | 2023.02.15 |
webhacking.kr - old-20(Challenge 20) (0) | 2023.02.15 |