[PHP] Non alphanumeric code

[PHP] Non alphanumeric code TL;DR PHP의 가변 함수와  bit 연산자로 alphabet 없이 함수를 실행 시킨다. 1. alphabet이 아닌 문자열을 변수에 넣는다. 2. bit연산자를 통해 원하는 문자열의 bit 값으로 바꾸어 준다. 3. 가변 함수를 사용해 함수를 실행 시킨다. <?php if (isset($_GET[‘eval’])) { if (preg_match(‘/[a-z]/i’, $_GET[‘eval’])) { die(‘No ALPHABET!!!!’); } else { eval(‘echo ‘.$_GET[‘eval’].’;’); } } 조건 …

[phpTrick] array === array compare bypass(?) (<5.5.9)

php Array === Array compare bug Example Code <?php $arr = [‘admin’, ‘password’]; $auth = $_GET[‘auth’]; if( $arr === $auth && $auth[0] != ‘admin’){ echo ‘Hello admin!’; } else { echo ‘login plz’; } 위와 같은 코드가 있을 때, 2번째 줄 $arr의 0번째인자가 admin으로 박혀있고, 3번째 줄에선 $auth와 $arr의 키/값 순서까지 일치해야 true여야하고(identity), $auth[0]이 admin이 …

[phpTrick] php safe_mode bypass vulnerability (< 5.1.6, <4.4 )

php safe_mode bypass (<5.1.6, <4.4) Normal Example //localhost/download.php?dir=path/file.jpg와 같은 파일을 다운 받게 하는 페이지가 존재할 때, LFI를 통해 서버의 파일을 다운받으려고 할 때 //localhost/download.php?dir=../../../../../../etc/passwd와 같은 쿼리를 날리게 되면 Warning: fopen(/some/path/../../../../../../etc/passwd) [function.fopen]: failed to open stream: Permission denied in /var/www/html/download.php on line 1 Safe mode 가 활성화 되어있기 때문에 다운로드가 불가능하다. Bypass Example 이때 //localhost/download.php?dir=../../../../../../etc/passwd/./처럼 자기 자신의 파일을 …

Training: Crypto – Transposition I

Crypto – Transposition Explain It seems that the simple substitution ciphers are too easy for you. From my own experience I can tell that transposition ciphers are more difficult to attack. However, in this training challenge you should have not much problems to reveal the plaintext. Ciphertext oWdnreuf.lY uoc nar ae dht eemssga eaw yebttrew eh nht eelttre sra enic roertco drre . Ihtni koy uowlu dilekt  oes eoyrup sawsro don:wp ropglddpel.f 여러가지 암호화 기법이 있지만, 이를 복호화 하기 위해선 첨부된 http://en.wikipedia.org/wiki/Transposition_cipher에서 …

[pwnable.kr] fd

File descriptor [fd] Mommy! what is a file descriptor in Linux? ssh fd@pwnable.kr -p2222 (pw:guest) SSH를 통해 접근하면 위와 같은 창이 나온다. ls -al명령을 입력하면, fd, fd.c, flag파일이 보인다. fd 파일 : 실행 시킬 수만 있다. fd.c 파일 : 읽을 수 있다. flag 파일 : 암것도 할 수 없다. fd.c파일을 보면, (cmd: cat fd.c) #include <stdio.h> #include …