전체 글(333)
-
[ Natas 4 -> Natas 5 Burp Suite , 패킷 변조 ]
1> 초기화면 2> Refresh page 클릭 "http://natas4.natas.labs.overthewire.org/" 에서 Refresh page 버튼을 클릭해서 "http://natas4.natas.labs.overthewire.org/" 페이지로 다시 재연결 하여서 오류발생 "http://natas5.natas.labs.overthewire.org/" 에서 "http://natas4.natas.labs.overthewire.org/" 페이지를 요청해야 문제가 해결된다 Natas서버로 페이지를 요청하는 패킷을 잡아서 패킷을 변조하여 보내면 문제는 풀린다 Burpsuite 프로그램을 이용해서 문제를 풀어보도록 하겠다구글에서 버프슈트 다운을 입력하면 다운받을 수 있다 3> Burpsuite 사용 ..
2017.09.19 -
[ Natas 3 -> Natas 4 robots.txt ]
#robots.txtrobots.txt는 웹사이트에 웹 크롤러같은 로봇들의 접근을 제어하기 위한 규약이다. 반드시 폴더명 맨 끝에 /를 붙여야한다. 특정 디렉토리의 접근을 허가하려면''' User-agent: 제어할 로봇의 User-Agent Allow: /foo/bar/ ''' 특정 디렉토리의 접근을 차단하려면''' User-agent: 제어할 로봇의 User-Agent Disallow: /foo/bar/ ''' natas4:Z9tkRkWmpt9Qr7XrR5jWRkgOU901swEZ
2017.09.18 -
[ Natas 2 -> Natas 3 디렉터리 리스팅 ]
natas3:sJIJNW6ucpu6HPZ1ZAchaDtwd7oGrD14
2017.09.18 -
[ Natas 1 -> Natas 2 페이지 소스 확인] 2017.09.18
-
[ Natas 0 -> Natas 1 페이지 소스 확인 ] 2017.09.18
-
Lord Of SQL Injection [ 20.Dragon ]
mysql에서 사용하는 한 줄 주석 # 을 우회하는 문제입니다말 그대로 한 줄 주석 # , 한 줄만을 주석처리하는 것을 우회하는 것이다%0a ( New line 아스키코드 16진수 값 ) 을 이용해 문장의 한 줄의 끝으로 인식시켜 #을 끝내준다
2017.09.16 -
Lord Of SQL Injection [ 19.Xavis ]
이전 단계에서 여러번 풀었었던 비밀번호를 추측해내는 문제입니다하지만, 한가지 다른점이 있습니다. 일단 비밀번호의 길이를 알아내보면 40(byte)입니다 비밀번호가 상당히 기네요 ascii 함수나 hex함수를 이용해서 비밀번호를 추측해보겠습니다 SELECT id FROM prob_xavis WHERE ascii( substr( pw , 1 , 1 ) )=0 %23=> 패스워드의 첫번째 글자부터 한개의 문자를 추출하여 아스키코드 16진수로 변환=> 문자들의 처음문자부터 자리수 모든 문자들이 0값입니다 왜이럴까요? 현재 문제에서 비밀번호가 유니코드로 되어있어서 입니다. 아래 예를 확인해보겠습니다 예를 들어서, U+00b8 이라는 유니코드 문자를 hex()함수의 인자로 넣으면? hex(U+00b8) = 00 앞..
2017.09.16 -
Lord Of SQL Injection [ 18.Nightmare ]
6글자내로 조건식을 참으로 만들어야 한다mysql의 특이한 구문에 대해 알아야한다 1> " 변수=값=0 "어느 다른 문법에서도 볼 수 없었던 처음 보는 문법이였다예를 들어서 A=123=0 이라는 조건식이라고 가정해보자먼저 A=123 을 비교하면 결과는 False 값이 나오게 된다그리고 Fasle = 0 을 비교하게 되면? True를 반환하게된다 2> 주석처리preg_match함수로 인해서 # 과 -- 주석을 쓸 수가 없다그럼 어떻게 뒤의 문장들을 주석처리를 할 것인가?" ;%00 " 을이용한다 => ; 는 쿼리문을 두개 같이 실행시킬 떄 사용하는 것은 알고 있을것이다( 쿼리문1 ; 쿼리문2 : 쿼리문1 실행 후 쿼리문2 도 실행 ); 다음에 %00( Null ) 값을 준다면, 문장의 끝으로 인식하고 쿼리..
2017.09.16 -
Lord Of SQL Injection [ 17.Succubus ]
preg_match() 함수 ... 아직까지 취약점을 발견하지 못한 함수입니다하지만 해당 문제에서는 preg_match()함수를 우회할 수 있는 방법이 있습니다바로 " \ " 를 사용하는 것입니다 http://...php?id=\&pw=A => SELECT id FROM prob_succubus WHERE id='\' and pw='A' ( WEHRE id = ' \' and pw= ' A ' ) \ 는 특수기호를 문자로 취급되게 만드는 기능을 한다$_GET[id] = " ' and pw = " 이 입력되고 $_GET[pw] = " A " 가 입력된다 http://...php?id=\&pw=or 1=1 %23 => SELECT id FROM prob_succubus WHERE id='\' and pw='..
2017.09.16 -
Lord Of SQL Injection [ 16.Zombie Assassin ]
[ ereg함수의 취약점 ]ereg( "A" , 문자열 ) : 문자열에 A라는 문자가 있는지 확인한다 => 있으면 참, 없으면 거짓 ereg함수의 취약점 => Null을 문자의 끝으로 인식하고 Null까지만 확인한다 ereg( "A" , "abcd%00efg" ) 의 예를 살펴보자해당 함수는 " abcd " 를 확인하고 %00(Null) 값을 확인하면 그 이후의 문자를 확인하지 않는다따라서 " efg " 대신에 우회하고 싶은 문자를 입력해서 우회할 수 있다 https://...php?pw=%00%27 or 1=1 %23 => SELECT id FROM prob_zombie_assassin WHERE id='' and pw='' or 1=1 #' $_GET[pw] = %00%27 or 1=1 %23ereg..
2017.09.16