DNS rebinding HTML 삽입 미리보기할 수 없는 소스 DNS rebinding이란 HTML 삽입 미리보기할 수 없는 소스 DNS Rebinding은 공격자가 더미 dns서버를 구축하여 공격자의 dns질의를 가로채어 동일한 도메인 이름이지만 주소를 변조시키는 방법으로 내부 네트워크에 접근할 수 있다. 이는 SOP도 우회 되면서 내부 네트워크에 접근할 수 있는 SSRF공격의 한 종류이다. DNS rebinding 작동 원리 HTML 삽입 미리보기할 수 없는 소스 1. 희생자는 공격자가 만들어 놓은 DNS서버에 DNS를 질의를 한다. 2. 공격자 DNS서버는 처음에는 올바른 주소(공격자 IP)를 반환해주는데 TTL을 적게 설정한다. 3. 희생자는 TTL이 적은 값을 받았기 때문에 얼마 지나지 않아 ..
SSRF 공격기법 HTML 삽입 미리보기할 수 없는 소스 localhost bypass HTML 삽입 미리보기할 수 없는 소스 http://2130706433/ = http://127.0.0.1 http://3232235521/ = http://192.168.0.1 http://3232235777/ = http://192.168.1.1 http://2852039166/ = http://169.254.169.254 http://127.0.0.1 http://0.0.0.0 http://localhost http://[::] http://0000::1 http://spoofed.burpcollaborator.net http://localtest.me http://localhost.hahwul.com http:..
다중 쿼리 / 문자열 비교 HTML 삽입 미리보기할 수 없는 소스 문자열 비교 HTML 삽입 미리보기할 수 없는 소스 항상 대소문자를 구분 짓던가 하나로 통일시키는 작업이 필요 select 'admin'='Admin' # 같음 일부 dbms에서는 type에 따라 문자열 구분 CHAR형태는 지정한 type의 크기에 따라 공백을 padding으로 채워 넣는다. LIKE연산에서는 서로 다르다고 나오지만 비교 연산에서는 공백이 있는 거랑 없는 거랑 동일하다고 나온다. mysql> CREATE TABLE names (myname CHAR(10)); Query OK, 0 rows affected (0.03 sec) mysql> INSERT INTO names VALUES ('Jones'); Query OK, 1 r..
Missconfiguration DBMS HTML 삽입 미리보기할 수 없는 소스 MySQL HTML 삽입 미리보기할 수 없는 소스 my.cnf MySQL은 mysql이라는 user의 권한으로 파일 관련된 작업을 수행한다. my.cnf 파일 안의 설정 값 secure_file_priv의 설정에 따라 load_file, into outfile을 실행할 수 있다. 파일에 대한 관련 작업을 할 때는 디렉터리 / 파일의 권한을 가지고 있어야 한다. select @@secure_file_priv; # 설정 값 조회 load_file 파일을 로드하는 함수 select load_file('/var/lib/mysql-files/tempfile'); lnto outfile 쿼리 값이나 변수를 파일에 쓸 수 있다. SELE..
Cheat Sheet [각종 페이로드 다 나와있음] https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SQL%20Injection GitHub - swisskyrepo/PayloadsAllTheThings: A list of useful payloads and bypass for Web Application Security and Pentest/CTF A list of useful payloads and bypass for Web Application Security and Pentest/CTF - GitHub - swisskyrepo/PayloadsAllTheThings: A list of useful payloads and bypass ..
blind-command HTML 삽입 미리보기할 수 없는 소스 Vulnerability HTML 삽입 미리보기할 수 없는 소스 #!/usr/bin/env python3 from flask import Flask, request import os app = Flask(__name__) @app.route('/' , methods=['GET']) def index(): cmd = request.args.get('cmd', '') if not cmd: return "?cmd=[cmd]" if request.method == 'GET': '' else: os.system(cmd) return cmd app.run(host='0.0.0.0', port=8000) 문제의 소스코드는 간단하다. cmd파라미터를 받아..
SSRF HTML 삽입 미리보기할 수 없는 소스 SSRF란? HTML 삽입 미리보기할 수 없는 소스 SSRF는 Server Side Request Forgery의 약자이다. 어디서 뭔가 비슷한 게 보이지 않나 바로 CSRF이다. CSRF가 클라이언트 중심의 공격이었다면 SSRF는 서버 쪽을 타깃으로 하는 공격 기법이다. SSRF를 알기 위해서 Microservice를 아는 것이 필요한데 쉽게 설명하겠다. Microservice 현대에는 마이크로 서비스중심의 아키텍처를 가지고 있는데 말이 좀 어려워서 그런 거지 그냥 서비스마다 각각 나누어 설계한다라는 의미이다. 나누어 설계를 하다 보니 서버에서도 어느 하나의 서비스가 필요하다 하면내부망의 서버끼리 통신하면서 데이터를 가져오고 보낸다. 아래의 이미지(exa..
strcmp HTML 삽입 미리보기할 수 없는 소스 Vulnerability HTML 삽입 미리보기할 수 없는 소스 문제의 소스코드에서 strcmp를 이용하여 password를 비교하는 것을 알 수 있다. 비교 연산도 느슨한 비교 연산자를 사용하고 있어서 해당 부분이 취약한 부분이 될 것이다. else if(isset($_POST['password'])){ sleep(1); // do not brute force! if (strcmp($_POST['password'], $password) == 0) { echo "Congratulations! Flag is " . $FLAG .""; exit(); } else { echo "Wrong password.."; } 0을 비교하므로 아마 NULL값이랑 비교되어..