Web Hacking

Web Hacking/LOS

Lord of SQL Injection - succubus

preg_match('/prob|_|\.|\(\)/i' 를 통하여 'prob', '_', '()', '.' 를 필터링하고 있다. 또한 아래에서는 싱글쿼터(')를 필터링하고 있다. id 와 pw 의 입력값이 모두 싱글쿼터로 갇혀있기 때문에 어떻게든 탈출시켜야 한다. 이전에는 싱글쿼터를 한 번 더 사용함으로써 기존의 싱글쿼터를 탈출했다. 하지만 지금은 싱글쿼터가 필터링 되어있기 때문에 다른 방법을 찾아야 한다. 우선 더블쿼터를 이용해보려고 했다. 하지만 쿼리문 자체에서 싱글쿼터로 입력값을 감싸기 때문에 소용이 없다. 그 다음으로는 주석을 이용하려고 했다. 하지만 어떻게든 문자열을 탈출하여 'or TRUE' 라는 쿼리문을 만들어야 한다. 문자열 탈출이 답이다. mySQL 에는 '\' 를 이용함으로써 특수문자를..

Web Hacking/LOS

Lord of SQL Injection - assassin

wild card 를 활용하는 문제다. mySQL 에는 '_' 과 '%' 가 있다. mySQL에서는 guest 가 admin 의 계정보다 table 상에서 상단에 위치하여 먼저 검색되는 특징을 가지고 있다. 이를 이용하여 코드를 짜면 다음과 같다. 원래는 where 뒤의 구문만을 참으로만 만들면 되지만, 어렵지 않게 전체 admin 계정의 비밀번호를 파악할 수 있다. 아스키코드 값들을 넣어주는 과정에서 underscore('_')가 비밀번호로 인식되는 현상이 있어 이를 삭제하는 코드도 추가하였다. 1 # For LOS exploitation 2 import requests 3 4 requests.packages.urllib3.disable_warnings() 5 org_url = "https://los...

카테고리 없음

simple_sqli

이번에는 이름부터 간단한 simple sql injection 문제이다. 바로 코드로 넘어가보자. 자세히 보아야 할 부분만 가져왔다. 로그인에 성공한 이후 userid가 admin이면 flag를 출력한다. admin이 아닌 계정으로 로그인하면 간단한 인사만을 alert한다. 다른 필터링이 없다. 바로 SQL Injection을 진행하면 될 것 같다. 필터링이 없는 victim에 SQL Injection 공격의 정답은 해가 무수히 많은 고차방정식과 같다. sql문에서 where 뒷부분만을 'True'로 만들어주기만 하면 된다. 하지만 password 영역에 or 연산을 삽입(userid=admin, password=1" or "1"="1)시키는 것은, 왜인지는 모르겠지만, hello guest 라고 ale..

카테고리 없음

cookie

cookie 값을 이용하는 간단한 문제다. 맛있게 flag를 먹어보자. 페이지에 접속하여 로그인 페이지로 이동하였다. 이제 코드를 살펴보자. 코드를 보면 username 이 admin 일 때 flag를 출력하는 것을 알 수 있다. 하지만 admin의 password가 flag.txt 파일에 존재하는 내용이기 때문에 알 수 있는 방법은 없다. 그렇다면 guest 계정으로 로그인한 이후에 서버로 전달된 쿠키값들 중에서 username에 해당하는 값을 admin으로 바꾸어 주면 될 것 같다. guest 계정으로 로그인하였다. 간단한 인사와 함께 내가 admin이 아니다라는 것을 강조하고 있다. 쿠키값을 변조하여 곧 나는 admin이 될 것이다. username에 해당하는 cookie를 admin으로 변조하였다..

Lucvs
'Web Hacking' 태그의 글 목록 (4 Page)