p1n9
p1n9 library

전체 글

개발, 해킹, CTF, 알고리즘, 컴퓨터 과학 등 컴퓨터 지식을 같이 공유하고자 만든 블로그입니다!!
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..

CTF/Web

[Dreamhack CTF] command-injection-1

command-injection-1 HTML 삽입 미리보기할 수 없는 소스 Vulnerability HTML 삽입 미리보기할 수 없는 소스 해당 문제는 아래의 코드에서 취약점이 발생한다. cmd변수에 사용자 입력값이 들어오는 필터링 없이 그대로 사용하여 Injection이 발생된다. output = subprocess.check_output(['/bin/sh', '-c', cmd], timeout=5) Exploit HTML 삽입 미리보기할 수 없는 소스 위의 취약점을 토대로 바로 Injection을 시도하게 되면 형식에 맞춰서 입력하라고 나온다. 이는 client단에서 Input태그의 속성 값에 의해 필터링되는 것인데 이는 개발자 도구를 이용하여 해당 속성만 없애주면 입력할 수 있다. pattern="..

Hacking/Web

[Web Hacking] Command Injection

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

Programming/Bootstrap

[Bootstrap] Bootstrap이란?

Bootstrap HTML 삽입 미리보기할 수 없는 소스 특징 HTML 삽입 미리보기할 수 없는 소스 Bootstrap은 트위터에서 개발한 것으로 class를 이용하여 보다 쉽게 레이아웃 등 프런트 개발에 도움을 주는 toolkit입니다. 지금은 5버전까지 나와있으며 css와 js 파일로 구분되며 Document도 잘되어 있어 쉽게 따라 할 수 있습니다. https://getbootstrap.com/ Bootstrap The most popular HTML, CSS, and JS library in the world. getbootstrap.com 버전에 따라 사용법과 의존성이 다를 수 있지만 금방 습득할 수 있습니다. 버전에 따라 사용하고 싶으면 구글에 "boostrap [version] cdn"을 치..

Programming/HTML

[HTML] Block과 Inline

Block HTML 삽입 미리보기할 수 없는 소스 Block Level의 특징 HTML 삽입 미리보기할 수 없는 소스 Block은 , 같은 태그들이 있습니다. Block은 위에서 아래로 레이아웃이 잡히는 요소로 서로 좌/우에 배치 될 수 없습니다. 특징 기본 width의 값이 100%이다. padding과 margin을 모든 방향으로 사용할 수 있다. width와 height를 지정할 수 있다. 자식 요소가 쌓일 수록 height는 자동으로 늘어난다. 레이아웃을 잡을 때 사용된다. Inline HTML 삽입 미리보기할 수 없는 소스 Inline의 경우 Text를 다룰 때 사용됩니다. Block과는 다르게 같은 Inline요소들은 서로 좌/우에 배치될 수 있습니다. , , 가 Inline에 해당됩니다. I..