Natas 20 -> 21
소스보기를 해보자.
일단 get 방식으로 debug 라는 값이 있으면 디버깅한 값을 보여준다.!
그리고 admin = 1 이면 클리어!
그리고 세션에다가 name 으로 넘긴 값을 저장하는 것 같다.
mywrite 에서 name 값이 존재하는대 다른 값이 들어오면
변경해준다!
즉 세션이 존재하거나 존재하지 않거나. name 으로 받은 변수값을 저장해준다!
세션에다가!!
그리고 그 세션에 admin = 1 이라는 값만 들어가면된다!
일단 아무값이나 넣어보니 디버그로 값이 들어간것을 확인
admin의 값을 넣어보니 name => admin 이라고 나온다.
즉 name을 넘길때 admin 1 이라는 값도 넘겨야 클리어
즉 name 의 변수를 넘기는 것을 끝내고 admin 1 이라는 변수를 내가 새로 만들어서 넘기면된다!
일단 아무값을 넣고 %0a (New Line ) 을 중간에 넣고 admin 1 의 값을 넘기니
클리어!
natas21 : IFekPyrQXftziDEsUr3x21sYuahypdgJ
Natas 21 -> 22
음 페이지를 공유한다라는 말이 나오고 페이지가 하나 나왔다.
일단 소스보기를 해보자!
admin 값의 1 들어가면 클리어!.... 인대 어떻게 넣는가...
역시 공유하는 페이지로 가봐야할듯.
음 값을 넣으면 위으 hello world 가 변하는 형태!
소스를 분석해보니 변한 값이 들어오면 세션에 값을 저장하는 것으로 되어있다!
또한 입력값은 POST 로 넘기기때문에.. 아마 페이크 폼을 하나 만들어서
admin 1 값을 추가해서 넣어주면 아마도 세션에 들어갈꺼 같다!
일단 세션을 확인하고 ( PHPSESSID )
페이크 폼을 하나 만들어서
submit 을해준뒤
세션을 복사해서 원래 페이지 세션에다가 붙여넣기를 했더니!!
클리어!
natas22 : chG9fbe1Tq2eWVMgjYYD1MsfIvN461kJ
Natas 22 -> 23
아무것도없다....
소스보기를 해보니 revelio 라는 변수를 get 넘기면 클리어인대...
문제는 session 의 값에 admin 이 존재해야된다... 없으면 헤더값이 변경되어
원래 페이지로 나온다.. 즉 다음레벨이 보이지않음..
이런식으로 넘겨도 화면은 원래화면...
우회하기위해서는 역시 프록시 서버를 이용해서
다음 화면을 보는것!
위와같이 repeeater 기능을 이용해서 값을 넘겨주면!
헤더값이 변경되지 않고 응답값을 볼 수있다!
클리어!
natas23 : D0vlad33nQF0Hz2EP255TP5wSW9ZsRSE
'WEB_Security(실습) > Natas' 카테고리의 다른 글
Natas (24~26 ) (0) | 2017.06.28 |
---|---|
Natas (17~20 ) (0) | 2017.06.23 |
Natas (14~16) (0) | 2017.06.22 |
Natas(12~ 13) (0) | 2017.06.21 |
Natas(9~11) (0) | 2017.06.20 |
댓글