분류 전체보기 (214) 썸네일형 리스트형 파일 업로드/다운로드 취약점 파일 업로드 취약점 사용자의 파일이 서버의 파일 시스템에 저장되어 처리된다는 이유로 인해 취약점이 발생 서버 파일 시스템에 원하는 파일 경로 또는 파일 명을 업로드할 수 있다면 악의적인 공격자는 웹 어플리케이션 또는 서버의 서비스가 참조하는 파일을 업로드하여 공격에 사용 CGI(Common Gateway Interface) 용자의 요청을 받은 서버가 동적인 페이지를 구성하기 위해 엔진에 요청을 보내고 엔진이 처리한 결과를 서버에게 반환하는 기능 ex) 웹 서버는 Apache, 웹 어플리케이션은 php를 사용하는 서버에 사용자가 요청을 보내면 Apache는 사용자의 요청을 해석하고, 사용자가 요청하는 리소스의 확장자가 .php와 같이 php엔진을 사용하기로 설정되어 있는 확장자라면 mod_php(CGI)를.. Binary 문제 01001101011000010111100100100000001110010111010001101000001011000010000000110010001100000011001000110000001011000010000001010100011011110110010001100001011110010010000001101001011100110010000001110100011010000110010100100000011001000110000101111001001000000110111101100110001000000100010001010011010101010100001101010100010001100010111000100000010010010010011101101101001000000110011101101111011.. Command Injection 웹 어플리케이션에서 OS Command를 사용하기 위해 PHP(system), Node JS(child_process), Python(os.system)과 같이 OS Command를 실행하는 함수가 존재 웹 어플리케이션에서 OS Command를 사용하는 이유는 이미 기능을 구현한 OS 실행 파일이 존재할 때 코드 상에서 다시 구현하지 않고 OS Command로 실행하면 더 편리하기 때문 OS Command는 내부적으로 쉘을 이용해 실행하는데, 쉘에는 한 줄에 여러 명령어를 실행하는 등의 쉘 사용자 편의성을 위해 제공하는 특수 문자들이 존재 ` `(백 쿼터) 명령어 치환 백쿼터 사이의 명령을 실행한 결과로 치환 ex) echo `echo hi` -> hi $( ) 명령어 치환 ex) echo $(echo .. Secret File 글과 이미지를 업로드 할 수 있는 게시판이 있다 간단한 php web shell을 만들어 업로드 해본다 파일 타입을 검사해서 필터링한다 image만 가능하니 Burpsuite로 프록시를 설정해 잡아 놓고 파일타입을 application/octet-stream에서 image/jpeg로 바꿔준다 성공적으로 웹 셸이 업로드 되었다 웹셸이 잘 동작한다 flag는 숨김파일로 저장되어있어 ls -a로 볼 수 있고 cat .flag.txt를 하면 구할 수 있다 What is your major 컴공은 안다 text = '68 83 85 123 121 48 117 95 99 52 110 95 114 51 52 100 95 52 50 67 105 105 95 99 48 100 51 125' text = text.split(' ') for i in text: print(chr(int(i)),end='') Injection 'user', '.', '()', '_' 필터링은 SQLMAP툴이나 문제 풀이에 상관없는 데이터 베이스 공격을 막아놓은 거고 별다른 필터링은 없다 admin으로 접속하면 됨 userpw = request.args.get('pw', ' ').lower() pw만 get방식으로 파라미터를 받고 소문자로 만든다 select id from user where id='guest' and pw=' ' 해당 쿼리로 admin를 추출 select id from user where id='guest' and pw='1' or id='admin' id는 guest이고 pw는 1 이거나 id가 admin인 row 추출 FLAG get 투명망토 페이지 소스에 주석으로 FLAG가 있다 SOP(Same Origin Policy) SOP 웹 브라우저가 사용자를 보호하기 위해 만들어짐 서로 다른 오리진에서는 사용자를 보호하기 위해 만들어짐 서로 다른 오리진에서는 스크립트의 상호작용을 막음 오리진은 프로토콜(protocol, scheme), 포트(port)와 호스트(host)로 구성 https와 http(프로토콜이 다름)인 경우 SOP위반 test.com과 example.com(호스트가 다름) test.com:80과 test.com:8888(포트가 다름) ***Internet Explorer는 동일 출처 정책 검사에 포트를 포함하지 않음**** iframe의 Document에서 상위 Document에 접근할 때도 SOP가 적용되어있다면 접근할 수 없다. 발 또는 운영의 목적으로 다른 오리진들과 리소스를 공유해야하는 상황이 발생하며, .. 이전 1 2 3 4 5 ··· 27 다음