SQL INJECTION

Web Hacking/LOS

Lord of SQL Injection - cyclops

union select 를 반드시 이용하라고 한다. 그러나 union select 를 곧이 곧대로 이용하니 아래와 같은 WAF 친구가 나를 반겨주었다. 'union select' 라는 문자열을 필터링하는 것 같다. 'union/**/select'로 우회하면 될 것 같다. 이후에는 union select 뒤에 나올 문자열 형식에 대한 문제다. 별것들이 다 막힌다. 제일 유력한 후보는 다음과 같다. id='\' and pw=' union/**/select 'first','second'# 이것도 WAF에 막혀버린다. 16진수로 바꾸어보자. id='\' and pw=' union/**/select 0x6669727374,0x7365636f6e64# 이것도 막힌다. pw 영역에서 'first' 혹은 'second..

Web Hacking/LOS

Lord of SQL Injection - chupacabra

MySQL 환경이 아닌 SQLite 환경인 것 같다. SQLite에서는 한 줄 주석으로 '#'을 사용하지 않고 '--' 만을 사용한다.

Web Hacking/LOS

Lord of SQL Injection - banshee

역시 SQLite 환경이다. 일반적인 Blind SQL Injection 인 것 같다. 예전에는 로그인에 성공하면 "Hello admin" 이라는 문자열을 출력했는데 이번에는 "login success!" 라는 문자열을 출력한다. 바로 exploit 코드를 짜도 좋을 것 같다. import requests requests.packages.urllib3.disable_warnings() org_url = "https://los.rubiya.kr/chall/banshee_ece938c70ea2419a093bb0be9f01a7b1.php" header = {'Cookie': 'PHPSESSID='} session = requests.session() # Check Length of PW for i in ran..

Web Hacking/LOS

Lord of SQL Injection - manticore

addslashes 함수가 포함되었다. SQLite 에서는 MySQL 과는 다르게 '\'가 이스케이프 문자로 활용되지 않는다고 한다. 그냥 싱글쿼터를 이용하여 id를 탈출하면 되겠다. id='&pw= union select 0x61646d696e--' and pw='' 위와 같이 query 를 전달했더니 문제가 풀리지 않는다. MySQL 에서는 문자열을 전달할 때 16진수로 전달할 수 있었다. 그러나 SQLite 환경에서는 이것이 통용되지 않는 것 같다. char 함수를 사용하여 addslashes에 걸리지 않게 하는 방법을 사용해야 할 것이다. id='&pw= union select char(0x61,0x64,0x6d,0x69,0x6e)--

Lucvs
'SQL INJECTION' 태그의 글 목록 (3 Page)