p1n9
'web hacking' 태그의 글 목록

web hacking

CTF/Web

[GON CTF] ColorfulMemo

보호되어 있는 글입니다.

CTF/Web

[LINE CTF] double check

보호되어 있는 글입니다.

Hacking/Web

[Web Hacking] Thymeleaf SSTI

Thymeleaf SSTI HTML 삽입 미리보기할 수 없는 소스 Thymeleaf HTML 삽입 미리보기할 수 없는 소스 타임리프(Thymeleaf)는 Spring의 뷰 템플릿이다. 컨트롤러가 데이터를 전달하면 동적으로 화면을 구성할 수 있게 도와준다. SSTI를 알아보기 전에 Thymeleaf에 대해 알아보자 사용법 Thymeleaf를 사용할려면 xormdp th:text , th:fragment, th:block 등 과 같이 속성과 비슷하게 생긴 것이 온다. 표현식 변수 표현식 : ${} 선택 변수 표현식 : *{} 메시지 표현식 : #{} URL 표현식 : @{} 단편(Fragment) 표현식 : ~{} Thymeleaf SSTI HTML 삽입 미리보기할 수 없는 소스 Thymeleaf뿐만 아니라..

Hacking/Web

[Web Hacking] URL 구조

URL 구조 HTML 삽입 미리보기할 수 없는 소스 URL HTML 삽입 미리보기할 수 없는 소스 Scheme scheme은 Protocol을 의미한다(ftp, ssh, http, https..) file scheme도 있는데 file scheme은 소유자의 file을 찾기 위한 구조이다. file://host:port/path와 같은 형식으로 이루어져 있다. host:port를 생략하면 file:///path(local을 의미)와 같이 사용할 수 있다. User:Pass ssh를 접속할 때 @를 사용하여 사용자:[패스워드]@host 형식으로 주소를 지정한다. @앞의 부분을 username : password로 인식하고 @뒷 부분을 host로 인식한다. 이러한 특징으로 URL 필터링을 우회할 때도 사용된..

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

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