본문 바로가기

웹 해킹/Webhacking.kr25

[Webhacking.kr] old-23 문제 서버에 접속하면 를 주입하나는 문구가 출력됩니다. 하지만 no hack이 출력되므로 필터링을 우회해야합니다. 여러가지 실험을 한 결과 숫자는 필터링에 걸리지 않고 문자를 2개이상 연속으로 이어붙일경우 필터에 걸립니다. url 인코딩을 보면 null 문자는 %00이므로 문자 사이사이에 %00을 넣으면 아래 명령어가 완성됩니다. 하지만 alert가 제대로 입력되지 않습니다. 그 이유는 %00을 입력하면 url 인코딩에 의해서 %는 %25가 되므로 %2500이 입력되기 때문입니다. a%00l%00e%00r%00t(1); GET /challenge/bonus-3/index.php?code=%3Cs%2500c%2500r%2500i%2500p%2500t%3Ea%2500l%2500e%2500r%2500t%281.. 2021. 9. 8.
[Webhacking.kr] old-47 문제 서버에 접속하면 명령어를 입력하는 창이 있는데 왠만한 명령어는 사용할 수 없다. help를 입력하면 위 그림처럼 ls id flag help 라는 문구가 출력된다. 순서대로 입력하면 flag는 admin만 실행할 수 있다고 합니다. 패킷을 캡쳐해서 guest를 admin으로 수정 후 패킷을 보내면 플래그가 출력됩니다. 2021. 9. 8.
[Webhacking.kr] old-32 문제 서버에 접속하면 위 그림과 같이 랭킹을 볼 수 있다. 그리고 이름을 클릭하면 Hit 개수가 1개 올라가고 다시 누르면 이미 투표했다는 문구가 출력된다. 쿠키 값에서 ok를 지우고 다시 클릭하면 Hit 개수가 1개 더 올라간다. 정석으로 풀려면 파이썬이나 다른 도구들을 사용하면 되지만 귀찮으므로 연속으로 마우스로 100번 광클하면 한번에 100을 넘을 수 있는걸 확인했다. 2021. 9. 8.
[Webhacking.kr] old-31 문제에 접속하면 위와 같이 121.130.41.253:10027으로 연결에 실패했다고 출력됩니다. 121.130.41.253이 뭘까 찾아보다가 본인의 ip인 것을 알았습니다. 구글에 "내 ip" 라고 검색하면 찾을 수 있습니다. 따라서 port는 10000~10100으로 제 pc에서 서버를 열고 10000-10100 포트를 허용하면 될 듯 합니다. 본인의 ip를 주소창에 입력하면 공유기 설정 화면으로 이동할 수 있습니다. 해당 설정 창에서 위와 같이 외부에서 10000~10100 포트로 접근하는 패킷을 10000으로 보내줍니다. pc에서 nc.exe를 설치하고 10000포트로 오는 패킷을 기다리면 플래그를 수신할 수 있습니다. 2021. 9. 8.
[Webhacking.kr] old-27 문제에 접속하면 위와 같이 SQL Injection을 이용하여 플래그를 획득해야한다. 코드는 아래와 같다. SQL INJECTION 2021. 9. 8.
[Webhacking.kr] old-19 문제 서버에 접속하면 id를 입력하는 칸이 나오지만 admin은 입력할 수 없습니다. 하지만 {admi}를 입력하는 경우 쿠키 값에 아래와 같은 값이 저장됩니다. MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjYzMjQ1Mzk4OGQ5YTE1MDFiODY1YzBjMGI0YWIwZTA2M2U1Y2FhMzM4N2MxYTg3NDE%3D {adm}을 입력하는 경우 아래와 같습니다. MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjY.. 2021. 9. 7.
[Webhacking.kr] old-25 문제서버에서 file=flag를 입력하면 플래그는 코드에 있다는 문구가 출력됩니다. 코드를 읽기 위해서는 PHP Wrapper를 사용할 수 있습니다. 코드는 아래와 같습니다. http://webhacking.kr:10001/?file=php://filter/convert.base64-encode/resource=flag 동작방식은 file에 flag를 넣어서 나오는 페이지의 코드를 base64로 인코딩해서 출력하는 것으로 추측할 수 있습니다. base 64를 디코딩하면 아래와 같습니다. 2021. 9. 7.
[Webhacking.kr] old-39 문제 서버에 접속하면 위와 같이 입력창이 있다. 코드는 아래와 같다. 2021. 9. 7.
[Webhacking.kr] old-54 문제 서버에 접속하면 위와 같이 Password가 출력되지만 빨라서 읽기가 힘들고 일정시간이 지나면 ?로 표시됩니다. Password is ? XHR 객체는 서버와 상호작용하기 위해서 사용됩니다. 전체 페이지의 새로고침 없이도 URL로부터 데이터를 받아올 수 있습니다. 이는 웹페이지가 사용자가 하고 있는 것을 방해하지 않으면서 페이지의 일부를 업데이트할 수 있도록 해줍니다. XHR 객체는 보통 빠르게 동작하는 동적인 웹페이지를 만들때 사용하는 Ajax 개발기법에 자주 사용됩니다. aview.innerHTML=x.responseText; 코드 핵심 부분을 다시 살펴보면 위 명령어는 aview라는 변수에 서버에서 가져온 어떤 데이터를 저장하는 코드이므로 아래와 같이 +를 붙여 문자가 하나씩 추가되도록 만든다.. 2021. 9. 6.