Los

Web Hacking/LOS

Lord of SQL Injection - bugbear

필터링이 계속 추가된다. 그러나 모든 것에는 방법이 있을 것이다. like 연산자를 사용할 수 없다는 점이 추가되었다. '=' 을 우회하는 것에는 like 연산자와 in 연산자가 있다. in 연산자는, A in ('B') 와 같은 방법으로 사용한다. 필터링하지는 않지만, 괄호도 필터링 해보자. '(' - 0x28 ')' - 0x29 또한 ord() 함수를 사용할 수 없다. or 문자열 필터링에 걸리기 때문에다. 그렇게 때문에 decimal 이 아닌 hexadecimal 로 비교하면 되겠다. 1 # For LOS exploitation 2 import requests 3 4 requests.packages.urllib3.disable_warnings() 5 org_url = "https://los.rubi..

Web Hacking/LOS

Lord of SQL Injection(LOS) - darkknight

대부분의 내용은 비슷하지만 필터링이 바뀌었다. 주요적으로 substr, ascii 함수를 사용하지 못하는 필터링이 생겼다. SQL Injection 을 진행할 때 가장 중요하게 생각해야할 부분은 필터링이 아니라 GET 방식으로 입력받는 데이터가 실제로 어떻게 parsing 되는지이다. pw의 경우 query 문으로 전달한 데이터는 문자열로 parsing 된다. 하지만 no의 경우 데이터가 정수형으로 parsing 되기 때문에 따옴표로 문자열이라는 것을 지정하지 않는 이상 다른 문자열 데이터는 무시되는 것 같다. 이러한 이유로 아래 exploit 코드의 28번째 줄에서 보통의 방식에서 사용하던 + str(i) + ... + chr(j) 과 같은 방식은 PW가 모두 '%'로 출력되는 오류가 발생하였다. qu..

Web Hacking/LOS

Lord of SQL Injection(LOS) - skeleton

간이 밍밍한 문제이다. 꽤나 심심한 문제다. query문 제일 뒷쪽에 and 1=0 이라는 거짓값이 존재한다. 그냥 or 를 이중으로 써서 뒤에 있는 and 연산을 무력화시키면 된다. ?pw=ABCD' or id='admin' or '1'='1

Web Hacking/LOS

Lord of SQL Injection(LOS) - vampire

php 코드를 보면, 이전 문제에서 id 검색에서는 대소문자를 구별하지 않는다는 점을 이용하여 exploit 했었다. 이번에는 strtolower 라는 함수로 GET 방식으로 전달받은 id 문자열을 모두 소문자로 바꾸어준다. 또한 str_replace() 함수로 admin 이라는 문자열을 공백으로 replace 한다. 그렇다면 어떻게 해야할까. admin이라는 문자열을 공백으로 비운다고 하니, admin 이라는 문자열 안에 admin 이라는 문자열을 희생양으로 바치면 된다. 즉, adadminmin 과 같은 식으로 id 에 전달해준다면 결과적으로는, ad""min -> admin 이 되어 가운데에 있던 admin이 공백으로 바뀌고 앞뒤 문자열이 합쳐져 다시금 admin 이라는 문자열이 생성될 것이다. a..

Lucvs
'Los' 태그의 글 목록 (7 Page)