Webhacking Writeup old-38번 문제입니다.
일단 로깅 인젝션이 무엇인지 몰라 구글링을 했습니다.
https://unabated.tistory.com/entry/Log-Injection
위 자료를 통해 로깅을 변조해 로깅파일을 신뢰하지 못하게 하는
공격이란것을 이해했습니다.
그럼 일단 목표일것 같은 admin부터 입력해보겠습니다.
admin으로 로그인 하는 것은 막혀있는지 admin이 아니라고 합니다.
그럼 가볍게 guest부터 시작해보겠습니다.
입력해서 로그인을 눌렀으나 새로고침되고 아무런 반응이 없습니다.
어떻게 된건지 모르겠어서 소스코드를 열어보았습니다.
소스코드에서 admin.php가 있다는 힌트를 줍니다.
이쪽으로 들어가 보겠습니다.
guest로 로그인했다는 log에 제 아이피가 입력되어 있습니다.
그러면 위 자료에서 본것처럼 guest\n[아이피주소]:admin 을 입력한다면
문제가 해결될것입니다.
이스케이프 문자인 \n을 사용해서 입력햇음에도 줄바꿈이 되지않고 일반 문자로 인식해
문제해결에 실패했습니다.
HTML은 <br>을 사용해서 바꾼다는 것도 시도 해봤으나 실패..
php 에서 사용한다는 nl2br( ) 함수를 사용해봐도 실패..
찾다 찾다 html에서 여러줄 입력하는 방법을 검색해봤습니다.
그러다 input 타입에서는 여러줄 입력이 안된다는 내용을 찾았습니다.
https://qa.apthow.com/archives/29734
<input type =“text”/>에서 여러 줄의 입력 id="Text1" - How IT
이 텍스트 입력 양식이 있습니다. <input type="text" cols="40" rows="5" style="width:200px; height:50px;" name="Text1" id="Text1" value="" /> 여러 줄의 입력을 받으려고합니다. 너비와 높이는 상자를 더 크게 만들지 만
qa.apthow.com
위 자료를 참고삼아 소스코드의 입력부분 input을 textarea 형태로 바꿔보았습니다.
위 상태로 바꾸고 아래처럼 따로 이스케이프 문자를 삽입할 필요없이
스페이스바+엔터키로 줄바꿈을 해준뒤 인젝션 해보았습니다.
인젝션의 종류도 알아야하지만
input타입에서는 여러줄 입력이 안된다는 점이 진짜 삽질하게 만들었네요
아무튼 문제가 해결되었습니다!
'Wargame(Web) > Webhacking.kr Writeup' 카테고리의 다른 글
Webhacking Writeup RPG1문제 (0) | 2022.08.09 |
---|---|
Webhacking Writeup 33번 문제 (0) | 2022.07.28 |
Webhacking Writeup 23번 문제 (0) | 2022.07.28 |
Webhacking Writeup 19번 문제 (0) | 2022.07.27 |
Webhacking Writeup 32번 문제 (0) | 2022.07.20 |