[Webhacking.kr] 38번

2017. 9. 25. 23:50

LOG INJECTION

 



이렇게 있다. 소스보기!!


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<html>
<head>
<title>Challenge 38</title>
</head>
<body>
<h1>LOG INJECTION</h1>
<!-- admin.php -->
 
<form method=post action=index.php>
<input type=text name=id size=20>
<input type=submit value='Login'><input type=button value='Admin' onclick=location.href='admin.php'>
</form>
</body>
</html>
 
cs


 Login과 Admin 버튼이 있는데 Admin버튼을 눌러 admin.php에 들어가면


log viewer가 나온다. 소스보기!


1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<html>
<head>
<title>log viewer</title>
</head>
<body>
<!--
hint : admin
-->
log<br><br><br></body>
</html>
 
cs


힌트가 admin이라고 한다.


admin을 입력하고 login을 눌러보았다. 


you are not admin

이라고 뜬다. 혹시 몰라 guest나 다른 단어를 입력해보았으나 아무일도 일어나지 않았다.


한참 입력하다가 Admin버튼을 다시 누르니 지금까지 입력한 log가 나왔다.

참고로 admin은 로그에 남지 않는다. 실패해서 그런가 싶다.


다음날 다시 log보기를 해봤다.

다른 사람이 한것까지 나오는듯 하다. 신기하네...


211.***.150.***:211.***.150.***:admi 
119.197.***.***:<script> 
119.197.***.***:<script>alert(0)<script> 
121.173.***.***:ㅊㅍㅋ 
221.160.***.***:a 


log에 나오는 내용은 


자신의 ip:입력내용  이다.

log injection을 해야하는 듯하다. 즉 log에 내 아이피로 admin을 찍으면 될듯 하다.


재미있는건 123admin이나 admin!!! 입력해도 필터링에 걸리지 않는다.

즉 admin을 로그에 남기기 위해 admin뒤에 로그에는 남지않는 부분을 붙이면 될것같다.

뒷부분을 날려버리기 위해 개행문자(\n)을 이용하였다.


admin\n 을 입력하면 로그(log)에 123.123.123(자신의 ip):admin이 들어가고 개행문자에 의해 다음행으로 넘어가므로 admin이 로그에 남게될것이다.






You have cleared the 38 problems.

Score + 100





뭐... 방법은 여러가지 있는 것 같다.


입력내용에 asdf\n(자신의ip):admin 으로 푼 사람도 적지않게 있는듯


이렇게 하면 로그에 남는 것은 아래와 같다.


자신의 ip:asdf

자신의 ip:admin


마찬가지로 성공한다.... 로그에 남았으니



'Wargame > 웹해킹(Webhacking.kr)' 카테고리의 다른 글

[Webhacking.kr] 47번 Mail Header injection  (0) 2017.09.28
[Webhacking.kr] 39번  (0) 2017.09.28
[Webhacking.kr] 33번  (0) 2017.09.21
[Webhacking.kr] 32번  (0) 2017.09.18
[Webhacking.kr] 27번  (0) 2017.09.06

+ Recent posts