SQL INJECTION

Web Hacking/LOS

Lord of SQL Injection - incubus

Lord Of SQL Injection 의 마지막 문제이다. mongo db 환경에서의 간단한 Blind SQL Injection 문제인 것 같다. 바로 exploit 코드를 작성할 수 있을 것 같다. import requests requests.packages.urllib3.disable_warnings() org_url = "https://los.rubiya.kr/chall/incubus_3dff9ce783c9f574edf015a7b99450d7.php" header = {'Cookie': 'PHPSESSID='} session = requests.session() # Brute Force password = '' for i in range(0, 20): for j in range(48, 122): ..

Web Hacking/LOS

Lord of SQL Injection - nessie

이번에는 mssql 환경의 문제이다. 필터링에서 'master' 문자열이 있는 것으로 보아 메타데이터를 사용할 수 없게 만들었다. 강력한 무기가 사라졌다. 그러나 코드를 약간만 더 읽다보면 첫 번째 paragraph 끝 줄에 Error Page 로 exit 시키는 코드라인이 있다. Error-Based SQL Injection 을 수행하면 될 것 같다. 또한 solve 하기 위해서는 admin의 pw도 구해야 한다. Blind SQL Injection 도 수행해야할 것 같다. 일단 오류 페이지가 어떻게 생겼는지 보자. Solution #1 id=' id 에 싱글쿼터(')만을 던져주었다. Error 메세지의 상태를 보아하니 어느 부분에서 오류가 발생하였는지 아주 자세하게 알려주고 있다. 이번에는 문제의 정..

Web Hacking/LOS

Lord of SQL Injection - kraken

다른 테이블을 이용하는 내용이 다시 나왔다. 지난 문제에서는 Error Based SQL Injection 을 이용하여 table 명과 pw를 leak 하였다. 이번에는 Error Based 는 아니지만 echo 명령어가 있기 때문에 이를 이용하여 table 명과 pw를 leak 할 수 있을 것 같다. 그리고 'sys' 라는 문자열이 필터링에서 빠졌다. mssql 에서는 information_schema 말고도 sysobjects 라는 메타데이터를 이용할 수 있다. 테이블의 이름에 해당하는 column은 'name' 이다. 우선 바로 query를 보내보자. sysobjects where type='TYPE' 과 같은 형식으로 사용한다. 주요한 [TYPE]에는 다음들이 있다. - FN SQL 스칼라 함수 ..

Web Hacking/LOS

Lord of SQL Injection - cerberus

mongo db 환경에 대한 문제이다. mongo db 는 NoSQL로 분류된다고 한다. NoSQL Injection 에서 많이 쓰이는 연산자들을 정리해보았다. - $ne : != - $lt : - $lte : = - ' : ' : 비교 연산자, 콜론을 기준으로 비교 우선 단순하게 기존에 쓰는 방식으로 주석을 사용하여 query 를 참으로 만들어보자. id=admin"}%23 오. NoSQL 에서는 addslashes 함수가 자동적으로 적용되는 것 같다. 더블쿼터를 이용하여 pw 단을 무효화하는 작업은 안 될 것 같다. 앞서 연산자를 정리했으니 연산자를 사용해보자. pw를 알 길이 존재하지 않는다. 따라서 '같지 않다'를 나타내는 '$ne' 연산자를 사용하자. NoSQL 에서는 column 명 뒤에 연산..

Lucvs
'SQL INJECTION' 태그의 글 목록