Web Hacking/LOS

Web Hacking/LOS

Lord of SQL Injection - poltergeist

// Flag is in `flag_{$hash}` table, not in `member` table. Let's look over whole of the database Flag는 member 테이블이 아니라 flag_{$hash} 라는 테이블에 존재한다고 한다. 메타데이터를 써야할 분위기다. MySQL에서는 information_schema 라는 메타데이터를 사용하였다. SQLite 는 sqlite_master 라는 메타데이터를 사용한다. sqlite_master를 이용하여 테이블의 이름을 불러와 보자. group_concat 함수를 사용하면 원하는 데이터를 모두 출력할 수 있다.(https://lucvs.xyz/entry/Real-World-SQL-Injection, 참고) pw=' union s..

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..

Lucvs
'Web Hacking/LOS' 카테고리의 글 목록 (3 Page)