
이번에도 입력폼 하나만 주어진 화면이네요. 대신 로그인젝션이라는 힌트?가 주어졌습니다.
로그 인젝션이 뭔가.. 하고 찾아보니

라고 하네요.
로그 파일을 변조하는 공격이다~ 라고 정리해서 이해하면 될 것 같습니다.
일단 문제로 돌아와서 바로 코드를 보겠습니다.

입력 폼 자체는 id라는 키로 받는다는것 외에는 특별한게 없네요.
아래에 주석으로 admin.php로 가보라고 힌트를 주네요.
바로 가보면

로그를 보여주는 페이지인가보네요. 아래에 admin으로 로그인을 해야한다는 두번째 힌트도 보여줍니다.
정리하자면.. 입력폼에 적은게 admin.php 페이지에 로그로 보여주고, 로그 인젝션 취약점을 이용해서 admin으로 로그인 한다면 문제 해결이다 라고 추측할 수 있습니다.
로그 인젝션을 통하여 어떻게 서버를 속여 admin으로 로그인한 것으로 오해하게 하는지 찾아보았더니..
마치 정상적으로 admin이 로그인한 것 처럼 로그가 작성되게 만들어서 속이는 식이 가능하다고합니다.
id=guest
[login] id = admin // 마치 어드민이 로그인한 것처럼 (두 줄 모두 공격자가 적은 값)
이렇게 서버에서 작성된 로그처럼, 공격자가 입력값에 줄바꿈 후 정상로그와 유사한 값을 넣어서 공격하는 것입니다.
이럼 admin이 로그인한 것으로 알아듣는 다는 것이죠.
문제에서 힌트를 모아보니 로그를 이용해서 admin으로 로그인한 것 처럼 만들라 라는 것 이니
위에 적은 것 처럼 줄 바꿈 후 정상적인 로그인 로그를 넣어본다면... 풀리지않을까 싶습니다.
일단 한 번 아무 값이나 넣어보았습니다.
admin을 넣었더니 "you are not admin" 문구만 뜨고 크게 달라지는건 없네요. 로그 페이지에 보이지도 않는걸 보니 필터링되나봅니다.
그 외에 이것저것 줄바꿈 문자도 넣어보고 하니...

위처럼 개행문자가 그대로 출력되네요.
제가 원하는 건 개행문자가 엔터키 같은 효과로 두 줄로 입력되게 하고싶었는데... 이 방법은 실패입니다.
그럼 어떻게 가짜 로그를 만들어서 넣을 수 있나 하다가 버프스위트를 이용하기로 했습니다.

38번 문제에 123이라는 값을 넣은 후 버프 스위트 창으로 요청을 잡아 본 화면입니다.
아래에 id=123 이라는 문구를 통해 123이 들어가는지 확인 할 수 있네요.
여기서 로그 인젝션을 활용해 보려고합니다.
버프스위트에서 엔터키를 쳐서 줄바꿈을 하면, 서버에 요청이 갈때도 줄바꿈이 되어서 들어갑니다.
이를 통해 id=admin 아랫줄에 가짜 로그를 적어서 보내면...!

해결 완료입니다!
굳이 [login] id = admin이 아니여도 admin만 쳐도 문제 해결이되더라고요.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
문제를 다시 풀며 글을 적던 중 오류를 발견했습니다.
바로 id값을 admin으로 넣지않으면 문제가 해결이 안된다는 것이였죠.
id=123
admin
을 넣었을 땐 그대로 로그에 적히고 해결이 안되었습니다.
해서 이래저래 시도를 해보니.....
문제에서 원하는 정답은 [ip]:admin 이었습니다.
가짜 로그로 admin이라는 문자열이 있으면 통과하는구나~ 라고 알았지만.. 그게 아니였습니다.
입력폼에서는 admin 이라는 값을 넣어도 문구가 뜨면서 정답처리가 안되었습니다.
두번째로 버프스위프를 통해서
id=admin
[login] id = admin
이라는 값을 넣었을 때는 해결이 되었죠.
왜그런고 하니.. 줄바꿈이 되면서 필터링을 피해간 것 같습니다.
즉 로그에는...
[제 ip]:admin
[login] id = admin
이 적힌거죠. 그중 빨간 표시를 한 곳 덕분에 문제가 해결 된 것입니다.
아랫줄은 의미가 없던거죠.
이걸 증명을 위해서
id=admin
11
이라고 버프스위트에 작성하니 문제가 해결되었습니다....
풀긴 풀었는데 잘 못 풀었던 거네요.
만약 id값을 123이나 guest등 admin과 관련없는 값을 넣어서 문제를 풀려면
id=guest
127.0.0.1:admin //아이피는 예시입니다.
와 같이 작성하여 문제를 해결 해야 하는 것 이었습니다.
역시 푸는게 끝이 아니라 문제를 분석해보는게 실력이 느는것같네요.
'보안 > 워게임 (웹 해킹)' 카테고리의 다른 글
| Challenge - old-27 write up (0) | 2025.04.09 |
|---|---|
| Challenge - old-54 write up (0) | 2025.04.05 |
| Challenge - old-39 write up (0) | 2025.04.04 |
| Challenge - old-10 write up (0) | 2025.03.31 |
| Challenge - old-03 write up (0) | 2025.03.31 |