오블완
-
LOS - hell_fire / level 23문제 풀이/Lord Of SQL 2024. 11. 11. 20:12
문제풀이$_GET[order]로 값을 받고 있음을 확인할 수 있다. 또한, order by로 정렬을 가능함을 알 수 있다.order by 1 일때 admin이 상위로 오고 order by 3 일때 rubiya가 상위로 올라오는 것을 알 수 있다. 이를 활용하여 blind sql injection을 시도한다. case when (조건문) then 1 else 3 end을 이용하여 시도한다. case when ( id='admin' and length(email) > 1) then 1 else 3 end 만약 참일 경우 admin이 상위로, 아닐경우 rubiya가 상위로 올라오게 된다. 또한, 표로 구성되어 있으므로 beautifulsoup를 활용하여 테이블을 파싱한 뒤 비교를 시도하면 된다.soup = B..
-
LOS - iron_golem / level 21문제 풀이/Lord Of SQL 2024. 11. 7. 20:38
문제풀이pw에 사용자의 입력이 들어가며 결과값을 도출하는 부분이 없다. 하지만 if(mysql_error($db)) exit(mysqli_error($db)); 를 통해 db error를 사용자에게 보여주고 있다. 처음에는 error based injection을 활용하여 extractvalue 함수를 사용해서 접근을 시도하였지만 실패 ?pw=a' || extractvalue('1', concat(0x3a, 'hi'))#이런식으로 concat(0x3a, "실행할 sql 구문") 을 이용하여 공격을 시도하였으나 '_' 필터링으로 인한 schema 탈취 불가 그래서 다른 방식으로 접근을 시도하였다. if 문의 참•거짓을 활용하여 error based + blind sql injection을 활용한다. ?pw..