p1n9
'web hacking' 태그의 글 목록 (2 Page)

web hacking

Hacking/Cheat Sheet

[Cheat Sheet] Database Injection

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

Hacking/Web

[Web Hacking] SSRF

SSRF HTML 삽입 미리보기할 수 없는 소스 SSRF란? HTML 삽입 미리보기할 수 없는 소스 SSRF는 Server Side Request Forgery의 약자이다. 어디서 뭔가 비슷한 게 보이지 않나 바로 CSRF이다. CSRF가 클라이언트 중심의 공격이었다면 SSRF는 서버 쪽을 타깃으로 하는 공격 기법이다. SSRF를 알기 위해서 Microservice를 아는 것이 필요한데 쉽게 설명하겠다. Microservice 현대에는 마이크로 서비스중심의 아키텍처를 가지고 있는데 말이 좀 어려워서 그런 거지 그냥 서비스마다 각각 나누어 설계한다라는 의미이다. 나누어 설계를 하다 보니 서버에서도 어느 하나의 서비스가 필요하다 하면내부망의 서버끼리 통신하면서 데이터를 가져오고 보낸다. 아래의 이미지(exa..

CTF/Web

[Wargame.kr] strcmp

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값이랑 비교되어..

CTF/Web

[Wargame.kr] jff3_magic

jff3_magic HTML 삽입 미리보기할 수 없는 소스 Vulnerability HTML 삽입 미리보기할 수 없는 소스 해당 문제를 보면 alert창이 하나 뜨는데 hint가 swp라고 한다. swp는 vi의 오류로 인해 파일을 일시적으로 백업을 하게 되는데 파일의 확장자가 swp가 된다. swp파일은 숨겨진 파일로 생성되어 .[파일명].swp의 형태로 저장된다. swp파일을 다운로드할 수 있는지를 확인해보면 .index.php.swp로 다운로드할 수 있다. vi로 swp파일을 열어야 swp파일을 볼 수 있는데 파일명을 .index.php.swp로 변경한 후 -r 옵션을 이용하여 파일을 열 수 있다. $ vi -r .index.php.swp 코드를 보면 문제 해결을 위한 소스코드는 아래와 같다. ma..

CTF/Web

[Wargame.kr] md5 password

md5 password 원래는 계속 존댓말로 썼는데 그냥 반말로 쓸게 반말로 쓰는 게 익숙해져서 안 되겠다. HTML 삽입 미리보기할 수 없는 소스 Vulnerability md5의 인코딩 방식을 사용하였을 때 SQLI가 일어날 수 있는 취약점이 있다. 바로 아래의 함수 때문에 가능해진다. 이게 php도 가능하고 python에서의 md5().digest()함수를 사용하여도 동일한 값이 나다. md5( string $str [, bool $raw_output = FALSE ] ) 위의 함수에서 문제 되는 부분은 $raw_output 때문이다. False일 경우에는 16진수 형태인 문자로 나와서 취약하지 않지만 True일 때가 문제가 된다. php의 경우에 True일 경우 digest로 출력이 되는데 hex..

Hacking/Web

[Web Hacking] Command Injection

Command Injection HTML 삽입 미리보기할 수 없는 소스 Command Injection의 원리 HTML 삽입 미리보기할 수 없는 소스 Command Injection은 사용자의 입력값이 서버가 시스템 명령어로 동작하는 형태인 코드에서 발생된다. System() exec()과 같은 시스템 명령어를 실행시킬 수 있는 함수에 의해서 발생되는데 이런 형태의 코드는 개발할 때의 편의성을 위해 사용되는 경우가 있다. 메타 문자 HTML 삽입 미리보기할 수 없는 소스 linux에서의 메타 문자들로 인해 개발자 의도와는 다른 명령어가 실행될 수 있는데 이를 발생시키는 메타 태그들은 다음과 같다. 메타 의미 ; 명령어 뒤에 세미 콜론이 붙여지면 다음 명령어를 한 줄에 작성할 수 있음 || 앞의 명령어가 ..

CTF/Web

[Dreamhack CTF] Mango

Mango HTML 삽입 미리보기할 수 없는 소스 Vulnerability HTML 삽입 미리보기할 수 없는 소스 웹 사이트로 들어가보면 해당 문구가 보인다. 그대로 URL에 넣어보면 "guest"가 출력이 됩니다. 해당되는 값을 찾는다면 그uid를 보여주는데 소스코드를 보시면 const BAN = ['admin', 'dh', 'admi'];로 필터링을 하고 있습니다. /?login?uid[$ne]=guest&upw[$regex]="^alpha+num" 위와 같은 방식으로 Injection을 수행해도 동작하지만 문제는 uid가 "guest" "admin" 뿐만 아니라 "testuser" "dreamhack" 도 있다는 것 입니다. "$ne" 말고도 uid에 $regex를 사용해 uid[$regex]=ad..