비밀번호를 입력하는 창이 있고, 소스코드를 볼 수 있는 버튼이 있다.

 

잘못된 비밀번호를 입력하면 위 사진과 같이 Wrong secret이라는 문구가 뜬다.

 

View sourcecode 버튼을 누르면 아래와 같이 소스코드가 나온다.

$encodedSecret = "3d3d516343746d4d6d6c315669563362";

위 값을 통해 secret값을 구해보자

 

bin2hex
: 2진수 -> 16진수
strrev
: 문자열 뒤집는 함수
base64_encode($secret)
: binary 데이터를 txt로 바꾸는 인코딩

 

encodeSecret함수에서 bin2hex(strrev(base64_encode($secret))을 반환해주었다.

이는 base64_encode -> strrev -> bin2hex함수를 순서대로 적용해주었다.

따라서 hex2bin -> strrev -> base64_decode을 적용해주어야 코드를 찾아낼 수 있다.

 

https://www.w3schools.com/php/phptryit.asp?filename=tryphp_compiler 

위 링크의 컴파일러를 이용해주었다.

 

<!DOCTYPE html>
<html>
<body>

<?php
$encodedSecret = "3d3d516343746d4d6d6c315669563362";
$code=base64_decode(strrev(hex2bin($encodedSecret)));
echo $code;
?>

</body>
</html>

 

code값이 oubWYf2kBq로 나왔기 때문에 이를 Input secret에 입력해주었다.

그랬더니 natas9의 비밀번호를 얻을 수 있었다.

 

W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl

'Web Hacking > Natas' 카테고리의 다른 글

[Natas] Level 9 > Level 10  (0) 2022.05.21
[Natas] Level 8 > Level 9  (0) 2022.05.21
[Natas] Level 6 > Level 7  (0) 2022.05.14
[Natas] Level 5 > Level 6  (0) 2022.05.07
[Natas] Level 4 > Level 5  (0) 2022.05.07

NATAS7의 페이지이다.

Home버튼과 About버튼이 있다.

 

Home버튼을 누른 화면은 다음과 같다.

 

About버튼을 누른 화면은 다음과 같다.

 

페이지 url은 http://natas7.natas.labs.overthewire.org/index.php?page=home (Home눌렀을 때)이다.

 

페이지 소스코드를 확인해보았다.

주석에 힌트가 써있다.

<!-- hint: password for webuser natas8 is in /etc/natas_webpass/natas8 -->

 

따라서 url에 /etc/natas_webpass/natas8를 추가해보았다.

=> index.php?page=/etc/natas_webpass/natas8 

 

다음 url을 입력했더니 아래와 같이 비밀번호를 얻을 수 있었다.

 

 

'Web Hacking > Natas' 카테고리의 다른 글

[Natas] Level 8 > Level 9  (0) 2022.05.21
[Natas] Level 7 > Level 8  (0) 2022.05.14
[Natas] Level 5 > Level 6  (0) 2022.05.07
[Natas] Level 4 > Level 5  (0) 2022.05.07
[Natas] Level 3 > Level 4  (0) 2022.04.07

 

페이지 소스코드를 살펴보았다.

 

 input에 script태그를 넣어주고 코드를 다시 살펴보았는데 아래와 같이 <,>가 필터링되고 있었다. 따라서 태그를 이용하면 안된다.

 

힌트에서 이벤트 속성을 사용하라고 했기 때문에 onclick 속성을 이용해보았다.

 

아래와 같은 입력을 통해 공격에 성공할 수 있었다.

"onclick="alert(document.domain)

 

https://xss-quiz.int21h.jp/stage07.php?sid=ed0b1728935508a7e673590e5f25caa6506233b2

'Web Hacking > XSS Challenge' 카테고리의 다른 글

[XSS Challenge] Stage 08  (0) 2022.05.15
[XSS Challenge] Stage 07  (0) 2022.05.15
[XSS Challenge] Stage 05  (0) 2022.05.07
[XSS Challenge] Stage 04  (0) 2022.04.30
[XSS Challenge] Stage 03  (0) 2022.04.29

<hr class=red>Search: <input type="text" name="p1" maxlength="15" size="30" value="">

위 코드에서 maxlength가 15로 지정이 되어있기 때문에 그 이상의 글자를 input할 수 없다.

 

따라서 아래와 같이 maxlength를 충분히 늘려주었다.

그 후 "><script>alert(document.domain);</script> 를 input해주었더니 아래와 같이 공격에 성공할 수 있었다.

'Web Hacking > XSS Challenge' 카테고리의 다른 글

[XSS Challenge] Stage 07  (0) 2022.05.15
[XSS Challenge] Stage 06  (0) 2022.05.07
[XSS Challenge] Stage 04  (0) 2022.04.30
[XSS Challenge] Stage 03  (0) 2022.04.29
[XSS Challenge] Stage 02  (0) 2022.04.03

+ Recent posts