본문 바로가기
개인 공부/WEB

[웹해킹] LOS 20 - (Dragon)

by 아메리카노와떡볶이 2021. 6. 19.
728x90
Lord of sql injection - Dragon 풀이

los 20번 Dragon 풀이입니다.

 

문제 접근

먼저 필터링 조건을 살펴보면, \ _ . () 으로 상대적으로 적은 필터링입니다.

 

조금 특이한 점은 쿼리문을 살펴보면, id가 게스트인 계정의 pw를 입력하는데, 구문 앞에 주석처리가 되어있어서

어떤 값을 입력하든 다 주석 처리가 되어서 의미가 없어진다는 것입니다.

 $query "select id from prob_dragon where id='guest'# and pw='{$_GET[pw]}'";

 

문제를 해결하는 조건은

if($result['id'] == 'admin'solve("dragon");

admin 계정을 얻어와야합니다. 따라서 지금까지 내용을 정리해보면,

1. pw에 입력하는 값은 주석처리된다.

2. 얻어와야하는 계정은 admin 계정이다.

이 두가지 내용을 종합해보면 사실상 불가능해보입니다. 하지만 이때 사용할 수 있는 방법이 개행문자입니다.

새로운 line으로 가서 주석을 무효화시키고, 새로운 줄을 구성해서 그 줄에서 admin 아이디를 얻어오는 것입니다

 

입력 쿼리:

pw=%0a% 1 and id ='admin

결과

728x90

'개인 공부 > WEB' 카테고리의 다른 글

[웹해킹] LOS 22 - (Dark_eyes)  (0) 2021.07.03
[웹해킹] LOS 21 - (Iron Golem)  (0) 2021.07.03
[웹해킹] LOS 19 - (Xavis)  (0) 2021.06.19
[웹해킹] LOS 18 - (Nightmare)  (0) 2021.06.19
[웹해킹] LOS 17 - (Zombie Assassin)  (0) 2021.06.19

댓글