http://www.exploit-exercises.com/문제 풀이 문제 : #!/usr/bin/env perl use CGI qw{param}; print "Content-type: text/html\n\n"; sub login { $username = $_[0]; $password = $_[1]; $username =~ tr/a-z/A-Z/; # conver to uppercase $username =~ s/\s.*//; # strip everything after a space @output = `egrep "^$username"…
읽어보기 →
http://www.exploit-exercises.com/문제 풀이 문제 : strace와 리눅스 shared library 사용을 목적으로 한다고 나와있다. 프로그램을 실행하면 strace it! 이라고만 나온다.. 일단 strace 를 실행하고 내용을 확인해보았다. 확인해보니, flag15 프로그램은 /var/tmp/flag15/libc.so.6 파일을 사용하고 있다. 하지만 파일을 확인해보면 해당위치에 파일이 없다.. 그러면, /bin/sh를 실행하는 libc.so.6을…
읽어보기 →
http://www.exploit-exercises.com/문제 풀이 문제 : 암호 문제다..ㅠ 암호문제를 푸는 제일 좋은 방법은 디컴파일이다...흐흐흐... IDA를 이용해 디컴파일해서 암호화 루틴을 확인해보니.. 입력받은 글자를 loop 돌면서 입력받은 문자가 위치하는 길이를 더하는 것을 볼 수 있다. 예를 들어 ABCDE를 입력하면 아래와 같이 연산된다. A+0=A B+1=C C+2=E…
읽어보기 →
http://www.exploit-exercises.com/문제 풀이 Nebula Level00 Nebula Level01 Nebula Level02 Nebula Level03 Nebula Level04 Nebula Level05 Nebula Level06 Nebula Level07 Nebula Level08 Nebula Level09 Nebula Level10 Nebula Level11 Nebula Level12 Nebula Level13 #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <sys/types.h> #include <string.h> #define…
읽어보기 →
http://www.exploit-exercises.com/문제 풀이 Nebula Level00 Nebula Level01 Nebula Level02 Nebula Level03 Nebula Level04 Nebula Level05 Nebula Level06 Nebula Level07 Nebula Level08 Nebula Level09 Nebula Level10 Nebula Level11 Nebula Level12 local socket = require("socket") local server = assert(socket.bind("127.0.0.1", 50001)) function hash(password) prog =…
읽어보기 →
http://www.exploit-exercises.com/문제 풀이 Nebula Level00 Nebula Level01 Nebula Level02 Nebula Level03 Nebula Level04 Nebula Level05 Nebula Level06 Nebula Level07 Nebula Level08 Nebula Level09 Nebula Level10 #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <stdio.h> #include <fcntl.h> #include <errno.h> #include <sys/socket.h> #include <netinet/in.h> #include…
읽어보기 →
http://www.exploit-exercises.com/문제 풀이 <?php function spam($email) { $email = preg_replace("/\./", " dot ", $email); $email = preg_replace("/@/", " AT ", $email); return $email; } function markup($filename, $use_me) { $contents = file_get_contents($filename); $contents = preg_replace("/(\[email (.*)\])/e", "spam(\"\\2\")", $contents); $contents = preg_replace("/\[/", "<", $contents);…
읽어보기 →
Notice : 해당 자료가 저작권등에 의해서 문제가 있다면 바로 삭제하겠습니다. 연구목적으로 사용하지 않고 악의적인 목적으로 이용할 경우 발생할 수 있는 법적은 책임은 모두 본인에게 있습니다. iOS 앱 보안진단을 위한 환경설정 iOS 앱 정적 분석하기(class-dump-z, clutch) Objective-C Runtime의 이해와 gdb attach 하기…
읽어보기 →
문제 : 정규표현식 문제다.. pat 패턴에 맞춰서 val 변수를 GET 방식으로 넘겨주면 될 것 같다. 300점이나 되는데 그리 복잡하지 않은 정규식이다. [1-3] : 1,2,3 중 한글자. [a-f]{5} : a,b,c,d,e,f 중 5글자. \t : 텝 문자인데 tab을 url 인코딩한 %09으로 문자를 만들어보면..…
읽어보기 →
문제 : 소스보기를 하니 admin mode : val=2 라는 힌트와 index.phps 소스가 있는 것을 확인했다. <html> <head> <title>Challenge 7</title> </head> <body> <!-- db에는 val=2가 존재하지 않습니다. union을 이용하세요 --> <? $answer = "????"; $go=$_GET[val]; if(!$go) { echo("<meta http-equiv=refresh content=0;url=index.php?val=1>"); } $ck=$go;…
읽어보기 →