Wargame Site/SQL injection

|Lord of SQL_injection| #7 Orge

믿고걸음 2019. 2. 8. 16:24

 오늘은 여기까지만 풀고 고등학교 친구들 만나러 가야겠다 



 7단계 문제 orge 이다. 

or 랑 and 를 막고 있는 것, 그리고 admin 의 pw 를 알야내야 하는 것 앞서 풀었던 두 개의 문제를 섞은 Blind injection 문제이다. ( 입력값의 T, F 에 따라 화면이 바뀌는 것을 이용한다. )




or 보다 and 의 우선순위가 높다는 것을 감안했을 때, 우리가 필요한 admin 의 값에 대해서만 접근을 해보자


?pw='||id='admin 을 넘겨주면

select id from prob_orge where id='guest' and pw='' || id='admin' 이 된다.



 id 가 guest 이고 pw 가 '' 인 경우 또는 id 가 admin 인 경우를 얻어오는 select 문이 된다. 

즉 앞부분의 경우 False 가 되고 or 로 연결되어 있기 때문에 쿼리문은 id='admin' 에 집중이 된다.

admin 계정의 유무를 알 수 있는 코드가 되는 것이다.


물론 문제에 admin 일 경우를 명시해놓았지만, 확인작업을 하는 것은 중요하다고 생각합니다!!





만약 id='admin' 에 and 로 연결된 뒤 부분이 True 라면 Hello admin 이 출력될 것이며, 만약 False 라면 아무 문구도 나오지 않을 것이다. 이를 이용해서 코딩을 해보자.










짜잔!!






orge 도 클리어!!


동아리 원들이 오기 전까지 '시스템 프로그래밍' 강의를 들으러 가봐야겠다 ~~


여러분도 모두 열공~~!!