관리 메뉴

Information Security

[LOS] 25. umaru 본문

WarGame/Lord of SQL Injection

[LOS] 25. umaru

HackingPractice 2020. 8. 13. 11:05

그림 25-1 umaru

ⓐ flag의 값을 필터링

ⓑ 현재 로그인 session을 가지고 flag를 가져옴

ⓒ 임시 테이블을 생성하고 원래 테이블의 자신의 session에 대한 내용을 그대로 옮김

ⓓ 임시 테이블에 flag 값을 update

ⓔ 임시 테이블의 flag 값을 가져옴

ⓕ session에 대한 flag값이 없거나, 원래 테이블의 flag값과 입력한 flag 값이 다르면 flag reset ( reset_flag()함수를 통해서 )

ⓖ 원래 테이블의 flag값과 입력한 flag값이 동일하면 문제 해결

 

?flag=''' 입력 시 rest ok FLAG 값이 rest 된 것을 알 수 있다.

그림 25-2 rest

1. flage의 값이 100글자를 넘기지 말 것

2. flag가 갱신되지 않도록 update 쿼리문에서 에러를 발생시킬 것

3. ,를 사용할 수 없기 때문에 sleep 함수를 사용

 

그림 25-3 소스코드

FLAG 값 입력 시 해결되는 것을 알 수 있다.

그림 25-4 정답

'WarGame > Lord of SQL Injection' 카테고리의 다른 글

All Clear  (0) 2020.08.13
[LOS] 24. evil wizard  (0) 2020.08.13
[LOS] 23. hell fire  (0) 2020.08.13
[LOS] 22. dark eyes  (0) 2020.08.13
[LOS] 21. iron golem  (0) 2020.08.11