이전 succubus 문제와 query 문의 형식은 아주 비슷하다.
그러나 addslashes 함수가 추가되어 있다.
addslashes 함수는 GET 방식으로 받아온 데이터에 싱글쿼터나 더블쿼터, 그리고 역슬래시가 있으면 해당 문자의 바로 앞에 역슬래시를 하나 더 붙여주는 역할을 한다. 예를 들어 query 문이 id=" 과 같이 전달되었다면, addslashes 함수를 거친 이후에는
id=\" 과 같이 역슬래시가 추가된다.
따라서 succubus 문제처럼 역슬래시를 이용하여 바로 뒤의 싱글쿼터를 문자열로 인식시키는 방법은 사용할 수 없다.
그런데 우리에게는 같은팀이 하나 존재한다. strrev 함수이다. 누가봐도 문자열은 reverse 시키는 함수이다.
이를 이용하면 위와 같이 쿼리문을 전달했을 때 실질적으로는
id="\ 과 같이 순서가 뒤바뀌어 전달될 것이다.
이렇게 된다면 역슬래시가 뒤쪽으로 빠지기 때문에 GET 방식으로 받아온 데이터를 감싸는 싱글쿼터를 일반적인 문자열로 캐스팅할 수 있을 것이다.
이제는 쉬워진다. 싱글쿼터 대신 더블쿼터를 사용하면 된다. strrev 함수도 감안하여 값을 전달해주면 된다.
따라서 작성된 query 문은 다음과 같다.
?id="&pw=%231%20ro%20
'Web Hacking > LOS' 카테고리의 다른 글
Lord of SQL Injection - xavis (0) | 2021.08.22 |
---|---|
Lord of SQL Injection - nightmare (0) | 2021.08.22 |
Lord of SQL Injection - succubus (1) | 2021.08.18 |
Lord of SQL Injection - assassin (0) | 2021.08.18 |
Lord of SQL Injection - giant (1) | 2021.08.16 |