전체 글(333)
-
[ Natas 15 -> Natas 16 PHP Injection ( 비밀번호 유추 ) ]
1> 첫 페이지 2> 페이지 소스코드 3> DB에는 username=natas16 만이 존재함 4> PHP 소스코드 1234567891011121314151617181920212223242526272829303132333435363738
2017.09.28 -
[ Natas 14 -> Natas 15 PHP Injection ( 쿼리 조건문 변조 ) ]
1> 초기 페이지 2> 페이지 소스코드 3> PHP 코드12345678910111213141516171819202122232425262728 Username: Password: Colored by Color Scriptercs 4> GET방식 debug변수 이용한 쿼리문 확인 5> PHP Injection을 통해서 해당 쿼리문의 조건식을 항상 참이 되도록 하자 쿼리문 ( PHP에서는 " . " 을 이용해서 변수와 문자열을 같이 쓸 수 있다 )"SELECT * from users where username=\"" . $_REQUEST["username"] . "\" and password=\"" . $_REQUEST["password"] . "\"";username = eun , password = 123..
2017.09.28 -
[ Natas 13 -> Natas 14 파일 시그니처 ( File Signature ) ]
1> 초기 페이지 2> 페이지 소스 3> PHP코드 12345678910111213141516171819202122232425262728293031323334353637383940414243 Colored by Color Scriptercs * exif_imagetype( 파일 )exif_imagetype() reads the first bytes of an image and checks its signature. ( 출처 : php.net )파일의 1byte를 읽어들여서 이미지파일인지 확인한다 ( 파일시그니처를 확인한다 ) 4> HxD 프로그램을 이용이전 문제에서 사용한 webshell.txt 파일의 파일 시그니쳐를 조작한다 " FF D8 FF E0 "은 이미지파일의 파일시그니쳐이다 5> 조작한 파일 ..
2017.09.25 -
[ Natas 12 -> Natas 13 웹쉘(Webshell) ]
1> 페이지 초기화면 2> 페이지 소스코드 3> PHP코드1234567891011121314151617181920212223242526272829303132333435363738394041 .... .Colored by Color Scriptercs # Example pathinfo() ExampleThe above example will output:/www/htdocs/inc lib.inc.php php lib.inc 4> HTML코드1234567891011....
2017.09.23 -
[ Natas 10 -> Natas 11 grep 다중명령어 ]
[ PHP 코드 ]12345678910111213141516 Colored by Color Scriptercs 문제 9번과 비슷한 grep의 특성을 활용하는 문제이다문자 ; 과 & 을 금지한 이유는 다음과 같습니다유닉스(리눅스)에서 ; 과 & 사용방법에 대해서 설명하겠습니다 [ 다중명령어 사용하기 ]1> " ; " 명령어의 끝을 알린다# 명령어1 ; 명령어2 ; 명령어3명령어1을 실행한 뒤 명령어2를 실행하고 명령어3을 차례대로 실행한다명령어1이 비정상적인 입력으로 실행에 실패하더라도 명령어2와 3은 일단 실행한다 2> " | " ( or 와 비슷함 )# 명령어1 ; 명령어2 ; 명령어3명령어1을 실행한 뒤 명령어2를 실행하고 명령어3을 차례대로 실행한다명령어1이 비정상적인 입력으로 실행에 실패하더라도 ..
2017.09.23 -
[ Natas 9 -> Natas 10 grep 다중명령어 ]
[ PHP 코드 ]123456789101112 Colored by Color Scriptercs * passthru( "command" ) 함수system()함수나 exec()함수와 비슷한 명령어를 실행시키는 함수이다정의 : Execute an external program and display raw output ( 외부 프로그램을 실행시키고 원시출력을 표시한다 ) * grep 함수의 특징을 이용한 문제이다#grep [ 찾을 문자열 ] [ 찾아야 할 대상이 있는 파일1 ] #grep [ 찾을 문자열 ] [ 찾아야 할 대상이 있는 파일1 ] [ 찾아야 할 대상이 있는 파일2 ] $key = a#grep -i a dictionary.txt $key = a /etc/natas_webpass/natas10#g..
2017.09.23 -
[ Natas 8 -> Natas 9 bin2hex(), base64_encode() ]
12345678910111213141516Colored by Color Scriptercs strrev("문자열") : 문자열을 역순으로 뒤집는다 bin2hex(str) : 이진수를 16진 표현을 갖는 아스키 문자열로 반환한다hex2bin(str) : 16진 표현을 갖는 아스키 문자열을 이진수로 반환 base64_encode( data ) : data를 base64로 인코딩한다base64_decode( data ) : 인코딩된 data를 base64로 디코딩 # base64_encode()함수 사용 예 1 [ 결과 ] YWI= YWJj YWJjZGU= 4의 배수의 공간을 차지하도록 하기 위해서 ' = ' 을 사용하여 공백을 채워준다 * 암호화 과정 : 입력한 값 => base64_encode() -> s..
2017.09.23 -
[ Natas 7 -> Natas 8 URL ]
Home, About 버튼을 클릭해보면 URL에 page변수값이 변하면서 페이지가 이동되고 있다 힌트는 Natas8 비밀번호가 /etc/natas_webpass/natas8 에 있다고 한다 URL의 page변수에 /etc/natas_webpass/natas8 을 입력해보자 Natas8:DBfUBfqQG69KvJvJ1iAbMoIpwSNQ9bWe
2017.09.23 -
[ Natas 6 -> Natas 7 직접참조(include) ]
[ PHP 코드 ]12345678910111213 Colored by Color Scriptercs PHP코드에서 사용하고 있는 $secret 변수를 정의하고 있는 부분을 찾을 수 없다어디에 있을까? include 명령을 이용해서 " includes/secret.inc " 파일을 로드하고 있음을 확인할 수 있다해당파일을 열어보도록 하자 $secret 값을 찾았다 natas7:7z3hEENjQtflzgnT29q7wAvMNfZdh0i9
2017.09.23 -
[ Natas 5 -> Natas 6 쿠키값 변조 ]
페이지 소스코드를 보아도 아무런 힌트가 보이지 않았다페이지 쿠키값을 확인해보자 쿠키값에 " loggedin=0 " 이 보인다 콘솔창을 열어 쿠키값을 변조해서 페이지를 재요청해보자 natas6 / aGoY4q2Dc6MgDq4oL4YtoKtyAg9PeHa1
2017.09.23