Wargame/webhacking.kr (old)

[Webhacking.kr] 38번 풀이

Grini 2019. 5. 7. 18:19


Log Injection 문제이다.


Log Injection : SQL Injection과 같이 파라미터를 통해 Logging을 조절하는 공격

Logging : 시스템 동작 시 시스템 상태/작동 정보를 시간의 경과에 따라 기록하는 것

Log : 기록된 기록


Log Injection을 통해 허가받지 않은 사용자가 권한을 획득할 수 있다.


[ 예시 ]

로그인 시 Log 입력형태 (가정)

Sep 11:2018:01:07:13: ApplicationName:Failed Login, Id=admin


Log Injection을 통한 로그 위조

id : foo\r\nSep 11:2018:01:07:13: ApplicationName:Successful Login, Id=admin


Log

Sep 11:2018:01:07:13: ApplicationName:Failed Login, Id=foo

Sep 11:2018:01:07:13: ApplicationName:Successful Login, Id=admin


따라서, admin으로 접근할 수 있게 된다.


[ Log Injection ] https://affinity-it-security.com/what-is-log-injection/


문제로 돌아가서 일단 아이디를 입력해보았다.



아무런 반응이 일어나지 않았다.

소스를 보자.



admin.php로 접근해보았다.



'내 IP':'ID' 형태로 log가 기록되고 있다.

id에 admin을 입력해보았다.



you are not admin..

Log Injection을 통해 admin으로 접근하면 될 것 같다.


id : a \n'내IP':admin



아무런 반응이 일어나지 않아 log값을 확인하기 위해 admin.php로 접근하였더니,,

문제가 풀렸다.