본문 바로가기

Wargame

(46)
[Dreamhack] sql injection bypass WAF sql injection bypass WAF | 워게임 | Dreamhack sql injection bypass WAF Description Exercise: SQL Injection Bypass WAF에서 실습하는 문제입니다. dreamhack.io 다운받은 파일의 압축을 풀고 하나씩 열어보도록 하자. users 데이터베이스에는 user라는 테이블이 있으며, 테이블 내부에는 idx, uid, upw 컬럼이 존재한다. 또한, “guest”, “admin” 등의 계정이 추가된 것을 확인할 수 있다. 코드를 보자. import os from flask import Flask, request from flask_mysqldb import MySQL app = Flask(__name__) app.config[..
[Dreamhack] blind sql injection advanced blind sql injection advanced | 워게임 | Dreamhack blind sql injection advanced Description Exercise: Blind SQL Injection Advanced에서 실습하는 문제입니다. 관리자의 비밀번호는 "아스키코드"와 "한글"로 구성되어 있습니다. dreamhack.io 비밀번호는 아스키코드와 한글로 구성되었다. 접속 정보에 나오는 링크를 타고 들어가보자. uid를 submit 하면, 그러니까 단어를 입력하면, 저게 쿼리의 조건절로 들어간다는 것 같다. 어라. 오버로드나 ap 오류라고 한다. 틀린 값을 입력하면 저렇게 되는건가. 쿠키는 필요없는가보다. 없다고 뜬다. 다운받은 파일의 압축을 푸니 파일이 세 개 있는데 우선 하나씩 열어보도..
Lord of SQL injection 07 https://los.rubiya.kr/chall/orge_bad2f25db233a7542be75844e314e9f3.php https://los.rubiya.kr/chall/orge_bad2f25db233a7542be75844e314e9f3.php los.rubiya.kr 아직 05, 06을 깨지 못했기 때문에 위 링크를 통해 접속하면 된다. 저기 preg_match가 들어있는 두 줄을 보자. preg_match($pattern, $subject, [, $matches])는 문자열 안에서 특정한 정규식 패턴의 존재 여부를 찾는데 유용한 함수이다. $pattern : 문자열로 검색할 패턴 $subject : 입력 문자열 [$matches] : 사용 시 패턴에 매치되는 내용을 배열에 담아둔다. 따라서 pw..
abex' crackme #4 보호되어 있는 글입니다.
abex' crackme #3 보호되어 있는 글입니다.
abex' crackme #2 보호되어 있는 글입니다.
abex' crackme #1 보호되어 있는 글입니다.
Lord of SQL injection 04 4번 orc 여태까지와는 다르게 id는 admin으로 고정되어 있고 admin의 pw를 무조건 맞춰야 풀리는 것 같다. 냅다 들여봐도 모르겠어서 구글링을 했는데 Blind SQL Injection을 사용해야 한다고 한다. Blind SQL Injection이 무엇인지에 대해서는 과제 3에서 후술할 예정이다. preg match 부분이 필터링 함수라는데 prob 와 _ . , 를 필터링하고 i를 통해 대소문자를 구별하지 않는다고 한다. 비밀번호의 크기를 먼저 찾을 수 있으면 찾는 것이 중요한데 코드를 보면 참인 값이 주어졌을 때 Hello admin을 출력하는 것을 확인할 수 있다. 따라서 참일 때까지 비밀번호의 크기를 입력하여 찾아야한다. 비밀번호의 크기를 찾기 위해서 사용할 문법은 문자열의 크기를 나타..