p1n9
p1n9 library

전체 글

개발, 해킹, CTF, 알고리즘, 컴퓨터 과학 등 컴퓨터 지식을 같이 공유하고자 만든 블로그입니다!!
Hacking/Web

[Web Hacking] Flask Debugger PIN Exploit

Flask Debugger PIN Exploit HTML 삽입 미리보기할 수 없는 소스 Debugger PIN HTML 삽입 미리보기할 수 없는 소스 Flask에서 Debugger모드가 활성화되어 있을 때 어떠한 에러가 발생하면 에러를 보여주는 페이지가 나온다. 해당 페이지에서 콘솔을 실행시킬 수 있는데 콘솔을 실행시키려면 PIN이 필요하다. app.run(host='0.0.0.0', port=80, threaded=True, debug=True) Generate PIN PIN은 __init__.py에서 만들어지는데 machine-id , mac address 등 각각 컴퓨터마다 다른 값들을 이용해서 PIN을 만들기 때문에 예측하기는 불가능하다. __init__.py는 /usr/local/lib/pyth..

Hacking/Web

[Web Hacking] DNS rebinding

DNS rebinding HTML 삽입 미리보기할 수 없는 소스 DNS rebinding이란 HTML 삽입 미리보기할 수 없는 소스 DNS Rebinding은 공격자가 더미 dns서버를 구축하여 공격자의 dns질의를 가로채어 동일한 도메인 이름이지만 주소를 변조시키는 방법으로 내부 네트워크에 접근할 수 있다. 이는 SOP도 우회 되면서 내부 네트워크에 접근할 수 있는 SSRF공격의 한 종류이다. DNS rebinding 작동 원리 HTML 삽입 미리보기할 수 없는 소스 1. 희생자는 공격자가 만들어 놓은 DNS서버에 DNS를 질의를 한다. 2. 공격자 DNS서버는 처음에는 올바른 주소(공격자 IP)를 반환해주는데 TTL을 적게 설정한다. 3. 희생자는 TTL이 적은 값을 받았기 때문에 얼마 지나지 않아 ..

Hacking/Cheat Sheet

[Cheat Sheet] SSRF

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:..

카테고리 없음

[Web Hacking] DBMS 다중 쿼리 / 문자열 비교

다중 쿼리 / 문자열 비교 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..

Hacking/Web

[Web Hacking] Missconfiguration DBMS

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..