Log : 사후 처리를 위해 기록을 남긴다.
1. 로그를 조작해보자
사람들은 사후처리를 위해 사용자의 행동들을 기록하고자 로그를 남긴다.
그렇지만 만약 우리가 로그를 조작할 수 있다면 어떡할까?
2. 로그 인젝션
어떤 한 워게임의 문제를 예제로 들어 보도록 합시다.
로그를 기록할 때 만약 어떤 아이디로 로그인 했을 경우 ip와 admin을 남기고
과거 admin으로 접속했던 기록이 있다면 clear를 합니다.
하지만 처리 과정에서 id 가 admin 이 될 수 없게 만들었습니다.
왜냐하면 모든 사람이 admin 으로 로그인 할 수 있다면 안되겠죠?? (당연;;)
그래서 id 에 admin을 직접 삽입 하지는 않지만 프로그램이 "아 이 사람은 admin 이구나!!" 하고 속일 수 있는 방법이 있습니다.
중간에 \n, 개행문자를 삽입하여 접속하지도 않은 접속 로그를 만드는 것입니다.
그래서 그 워게임의 경우에는 <임의의 문자열>\n<아이피> admin 으로 해결을 했다.
3. 결론
이런 것도 있다.
지금 더 알아봐야 하는 것은 왜 \n이 개행 문자로 인식 되는 것인지 (\\n인 것은 아닐까)를 알아봐야 할 듯하다.
그러면 조금 더 응용하기 좋아지겠지..
'Security > WEB' 카테고리의 다른 글
[ 00 ] Oh!! Magic Hash!! (PHP) (0) | 2017.12.10 |
---|