첫 화면이다

?file=hello를 보내는 걸 보니

readfilename=$_GET['file']+.txt 이런식으로 파일을 읽을 것 같다.

우리의 목표는 password.php를 읽는 것이고 

그 말은 즉 뒤에 .txt가 있는 코드가 있다는 것인데

.txt를 무시하는 방법은

filename도 문자열이기 때문에 끝처리를 null로 해버리면 뒤에를 읽지 않는다는것


?file=password.php%00


password를 찾을 수 있다.

'war game > webhacking.kr' 카테고리의 다른 글

[webhacking.kr] 6번 100pt  (0) 2017.01.18
[webhacking.kr]23번 200pt  (0) 2017.01.18
webhacking.kr 39 100pt  (0) 2017.01.05
[webhacking.kr] 24번 REMOTE_ADDR 쿠키변조  (0) 2016.12.16
[webhacking.kr]sql injection 18  (0) 2016.12.16

처음에 박스에 아무값이나 넣어보면 다음과 같이 warning이 뜬다.

index.phps를 봐보자





index.phps를 보면 다음과 같다


warning이 뜨는 이유는 sql query문에 있다

select 'good' from zmail_member where id='$_POST[id]


여기서 id에 '가 하나 없다

그렇다면 id에 '하나를 붙여주면 되지만

$_POST[id]=str_replace("\\","",$_POST[id]);
$_POST[id]=str_replace("'","''",$_POST[id]);


에서 "\\"가 ""로 "'"가 "''"로 replace되어버린다

하지만 그다음 문을 보면

$_POST[id]=substr($_POST[id],0,15);

로 0~15자로 글자수가 제한 되어있다

즉 '가 ''로 replace되어도 글자수의 바운더리로 무시할 수가 있다


admin         '

를 보내면 ' 가 ''로 바뀌어도 id에는 admin           '

가 들어가게 된다


그러면 clear


'war game > webhacking.kr' 카테고리의 다른 글

[webhacking.kr]23번 200pt  (0) 2017.01.18
[webhacking.kr] 25 150pt  (0) 2017.01.10
[webhacking.kr] 24번 REMOTE_ADDR 쿠키변조  (0) 2016.12.16
[webhacking.kr]sql injection 18  (0) 2016.12.16
webhacking.kr 14번 100pt  (0) 2016.12.07

codemap은 ida의 플러그인이다


https://github.com/c0demap/codemap

사용법과 다운로드는 위의 링크를 참고하자


문제에서 주어진 대로

0x403e65?에 bp걸고 돌리고 codemap키고 돌린후

sql 쿼리를 날린다

sql 쿼리 : select eax from trace20161223171354 order by eax




그런다음 문제에서 요구한데로 대답해주면 됨

'war game > pwnable.kr' 카테고리의 다른 글

[pwnable.kr] crypto1 120pt  (0) 2017.01.02
pwnable.kr otp 100pt  (0) 2017.01.01
pwnable.kr unlink 10pt  (0) 2016.12.04
pwnable.kr asm 8pt  (0) 2016.11.26
pwnable.kr alloc 80pt  (0) 2016.11.06

처음에는 

이렇게 내 아이피를 보여주면서 wrong ip 라고 한다

이때 클라이언트 아이피 정보를 어떻게 가져오는가 하면

REMOTE_ADDR라는 기본 쿠키이다

사용자가 미리 설정해주지 않아도

REMOTE_ADDR라는 쿠키에는 기본적으로 클라이언트의 ip가 들어가있다

하지만 내가 임의로 REMOTE_ADDR라는 쿠키를 만들어준다면

내가 만든 쿠키가 우선순위가 된다


if($_COOKIE[REMOTE_ADDR])
{                            
$ip=str_replace("12","",$ip);
$ip=str_replace("7.","",$ip);
$ip=str_replace("0.","",$ip);
}
                                        


이 필터를 통과해서


if($ip=="127.0.0.1")
{                    
@
solve();
}                    



ip를 127.0.0.1로 만들어주면 통과



이게 왜 되는지는 스스로 생각해 보길 바란다.

어렵지 않다!






'war game > webhacking.kr' 카테고리의 다른 글

[webhacking.kr] 25 150pt  (0) 2017.01.10
webhacking.kr 39 100pt  (0) 2017.01.05
[webhacking.kr]sql injection 18  (0) 2016.12.16
webhacking.kr 14번 100pt  (0) 2016.12.07
webhacking.kr 15번 50pt  (0) 2016.12.07

+ Recent posts