반응형
반응형
반응형

Title
Web Basic

Description

wrong T.T



소스를 보면 php소스가 나온다.


<html> 
<head> 
<link rel="shortcut icon" href="../images/favicon.ico" type="image/x-icon"> 
<title>Prob18</title> 
</head> 
<body style="background-image:url('../images/content-tail.gif');"> 
<b>Title</b></br> 
<i>Comming Soon</i></br></br> 
<b>Description</b></br> 
<font size="2px"> 
View source</br> 
<? 
$key 
"Congratulations!</br>Key is ??????????????????"
$liillillilliliili = @$_COOKIE['c']; 
$liillillliiiliili = @$_GET['g']; 
$lilllillliiiliili = @$_POST['p']; 
if(empty(
$liillillilliliili) || empty($liillillliiiliili) || empty($lilllillliiiliili)){exit ('wrong T.T');} 
$lililillliiiliili $liillillliiiliili $liillillilliliili
$lilililliiiiliill $lilllillliiiliili

function 
test($a){ 
$b ''
    for(
$i=0$i strlen($a); $i++){ 
        
$b $b ' - ' ord(substr($a,$i,1)); 
    } 
    return 
$b

if(
test($lililillliiiliili)==" - 103 - 105 - 118 - 101 - 109 - 101 - 112 - 97 - 115 - 115 - 119 - 111 - 114 - 100" || test($lilililliiiiliill) == " - 107 - 101 - 121 - 112 - 108 - 122 - 33"){
    echo 
$key

else{ 
    echo 
'wrong T.T'

?> 
</font> 
</body> 
</html>



$liillillilliliili = @$_COOKIE['c']; 
$liillillliiiliili = @$_GET['g']; 
$lilllillliiiliili = @$_POST['p']; 
if(empty(
$liillillilliliili) || empty($liillillliiiliili) || empty($lilllillliiiliili)){exit ('wrong T.T');} 


cookie, get, post 방식으로 값들을 받는다. 모두 값이 존재해야 한다.




$lililillliiiliili $liillillliiiliili $liillillilliliili
$lilililliiiiliill $lilllillliiiliili;


function test($a){ 
$b ''
    for(
$i=0$i strlen($a); $i++){ 
        
$b $b ' - ' ord(substr($a,$i,1)); 
    } 
    return 
$b

if(
test($lililillliiiliili)==" - 103 - 105 - 118 - 101 - 109 - 101 - 112 - 97 - 115 - 115 - 119 - 111 - 114 - 100" || test($lilililliiiiliill) == " - 107 - 101 - 121 - 112 - 108 - 122 - 33"){
    echo 
$key

else{ 
    echo 
'wrong T.T'


난독화를 풀어보자.


A = get. cookie

B = post


function test.... 생략


if(test(A).....생략....|| test(B)...생략



A에는 get으로 받은 문자열과 cookie로 받은 문자열이 더해지게 된다.





function test($a){ 
$b ''
    for(
$i=0$i strlen($a); $i++){ 
        
$b $b ' - ' ord(substr($a,$i,1)); 
    } 
    return 
$b


test함수를 살펴보면, 문자열의 문자들을 아스키 값으로 변환한다.



if(test($lililillliiiliili)==" - 103 - 105 - 118 - 101 - 109 - 101 - 112 - 97 - 115 - 115 - 119 - 111 - 114 - 100" || test($lilililliiiiliill) == " - 107 - 101 - 121 - 112 - 108 - 122 - 33"){
    echo 
$key


따라서, A에는 givemepassword라는 값이, B에는 keyplz!라는 값이 들어있어야 key값을 출력해준다.


get으로 g값에 g를 담고, cookie로 c값에 ivemepassword를 담고, post로 p값에 keyplz!를 넘겨주면 된다.



burp suite를 사용했다.





재밌다.



authkey : web_basic_problem_haha




반응형

'WAR GAME > XCZ.kr' 카테고리의 다른 글

XCZ.kr [prob 20] 풀이  (0) 2018.09.10
XCZ.kr [prob 19] 풀이  (0) 2018.09.10
XCZ.kr [prob 17] 풀이  (0) 2018.09.10
XCZ.kr [prob 16] 풀이  (0) 2018.09.10
XCZ.kr [prob 15] 풀이  (0) 2018.09.10
반응형

SuNiNaTaS의 18번문제 풀이입니다. 


[FORENSIC]




복호화하면 되겠지..


일단 DEC to STRING


VG9kYXkgaXMgYSBnb29kIGRheS4gVGhlIEF1dGhLZXkgaXMgVmVyeVZlcnlUb25nVG9uZ0d1cmkh


뭔가 base64일거 같다.



맞았다.

반응형

'WAR GAME > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS [NEW SYSTEM 20번] 풀이  (0) 2018.08.03
SuNiNaTaS [FORENSIC 19번] 풀이  (0) 2018.08.03
SuNiNaTaS [MISC 17번] 풀이  (0) 2018.08.02
SuNiNaTaS [SYSTEM 16번] 풀이  (0) 2018.08.02
SuNiNaTaS [FORENSIC 15번] 풀이  (0) 2018.08.02

+ Recent posts