전체 : 4,150,784 명
어제 : 0 명
오늘 : 0 명

[보안]PHP 해킹하기 #1 NULL Byte Injection

퓨틱 | 2009.08.31 02:07 | 조회 13671

*해킹 방법을 알아야 방어를 하는 법, 본 강좌는 해킹 방어를 위한 해킹 강좌입니다.

*이번 강좌의 전제조건은 윈도우 서버가 아니여야 됩니다.

#1.뭐가 문제지?

test.php

$a = $_GET['a'];

echo "$a"+".remove me!";

?>

위와 같은 PHP파일이 있습니다.

test.php?a=hellopyutic 와 같이 test.php에게 인자를 준다면,

당연히 화면에는 hellopyutic.remove me! 가 출력될 것입니다.

그렇다면, 저 뒤에 붙는, 자신의 제거해달라고 소리치는 .remove me! 라는 문구를

제거하고 출력하는 방법이 있을까요? (물론 PHP파일에 손을 대지않고요 :D)

물론 있습니다. (없으면 저런 질문 하지도 않았겠지요 -_-ㅋㅋ)

그럼 어떻게 해야 저 문구를 제거할 수 있는것일까요?

#2.본론

독자분들은 PHP를 하시면서 C언어와 상당히 흡사하다는 느낌을 받으셨을껍니다.

특히 문법이라던가, 함수쪽이 상당히 C와 비슷하지요.

C언어의 문자열은 NULL BYTE로 끝나지요?

그럼 PHP의 문자열은 뭘로 끝날까요?

당연히! PHP의 문자열도 NULL로 끝나겠지요?

(이 부분은 이해를 돕기위한 부분입니다. 사실 PHP에서 NULL이 문자열 끝을 의미하는 것은 C를 닮아서가 아닌,

서버(리눅스라던가 리눅스라던가 리눅스라던가...)의 특징때문입니다. 오해마시길,)

(윈도우 서버는 NULL을 문자열의 끝으로 인지하지 않습니다. 즉 윈도우 서버는 통하지 않습니다.)

즉, 인자 뒤에 널 바이트(%00)을 추가해주면 되는 것입니다.

즉, test.php?a=haha%00를 하면

haha.remove me!가 아닌 haha만 출력되는 것을 보실 수 있습니다.

윈도우 말고 다른 서버가 있으신 분들은 테스트해보세요!

(글 초기에도 언급했듯, 윈도우 서버는 되지않습니다)

#3.어디에 쓰일까?

이 취약점은 예제 소스처럼 사용자로 부터 받아온 문자열 뒤에 덧붙혀지는 문자열을 우회할 때 사용됩니다.

즉, 단독으로 쓰이지 않고 여러 취약점과 함께 쓰이는 것입니다.

자세한 것은 후에 강좌할, 인자 공격 강좌에서 다루도록 하겠습니다.

지금은 '아 이런 놈도 있구나-'라는 것만 아시면 되겠습니다.

다음 강좌는 개인적으로 자신없는 파트인, SQL Injection을 다루도록 하겠습니다.

twitter facebook me2day 요즘
오호.. 강의 잘보앗고 다음강의 기대하겟습니다+_+

오호.. 강의 잘보앗고 다음강의 기대하겟습니다+_+

09.02 23:44 | Joke님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
다음 강의 기대할께요.^^
다음 강의 기대할께요.^^
09.19 16:42 | two3213님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
아 해킹 배우고 싶었는데 ㅎ 감사합니다^^

아 해킹 배우고 싶었는데 ㅎ 감사합니다^^

11.29 20:37 | LLL님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
Null의 활용~~윈도우서버에는 적용이 되지않는군요~~ 강의 잘 봤습니..

Null의 활용~~윈도우서버에는 적용이 되지않는군요~~

강의 잘 봤습니다. 감사합니다.

01.02 09:55 | 다비치1님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
와우 ㅎㅎ

와우 ㅎㅎ

01.06 19:18 | ReDMaker님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
.. 전 멍청해서 아직 이해가 느리네요 ㅠ;;

.. 전 멍청해서 아직 이해가 느리네요 ㅠ;;

01.06 19:56 | 이낭랑님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
아.. 이런게 있군요..

아.. 이런게 있군요..

02.20 14:52 | 피닉스님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
가끔 빈글을 허용하지 않는 게시판(제로보드등)에 text field에 %..

가끔 빈글을 허용하지 않는 게시판(제로보드등)에 text field에 %00 넣으면 들어가지요

07.23 15:14 | 몽구스님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
으억 몽구스형이다

으억

몽구스형이다

07.24 22:21 | 퓨틱님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
흐음...ㅎ 이런 취약점도 있군요..

흐음...ㅎ 이런 취약점도 있군요..

09.02 15:57 | 방랑장님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
스터디 때문에 요즘 공부하고 있는데 짧고 이해가 쉽게 했네요.
스터디 때문에 요즘 공부하고 있는데 짧고 이해가 쉽게 했네요.
04.29 10:28 | 송죽님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
%00
%00
06.20 22:27 | 귀련님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
잘볼꼐요.~

잘볼꼐요.~

12.25 21:09 | ohtahack님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
PHP공부도 좀 해야겠는데요?ㅋ
PHP공부도 좀 해야겠는데요?ㅋ
12.22 13:59 | 김동현0님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
다음 강의 기대됩니다..감사합니다.
다음 강의 기대됩니다..감사합니다.
02.05 21:38 | BaboMan님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
next information this would newbie php p..
next information this would newbie php programmers for their project
02.20 17:07 | tianxi님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
댓글쓰기 - 로그인한 후 댓글작성권한이 있을 경우 이용하실 수 있습니다.

비밀번호 확인

댓글 등록시에 입력했던 비밀번호를 입력해 주세요.
10개(1/1페이지)
rss
PHP
번호 제목 작성자 작성일 조회
10 [다이어리]페이지 불법링크 막기사진첨부파일[18] 레인커뮤니케이션 2009.09.28 11708
9 [다이어리]한글 초성검색을 해보자(ex. ㄱ자만 또는 ㄴ자만 검색)사진첨부파일[8] 레인커뮤니케이션 2009.09.08 12788
8 [다이어리]검색 광고 통계및 차단 프로그램 제작-1(기획)[3] 레인커뮤니케이션 2009.09.05 9993
7 [고급]유튜브 API들 이용하기사진[5] COOLSOFT 2010.02.12 12419
6 [기초]유용한 mysql_fetch_array를 써보세요. 레인커뮤니케이션 2010.08.25 11688
5 [기초][보안]PHP 해킹하기 #EX1 PHP.* 취약점[18] 퓨틱 2009.10.20 10221
4 [기초][보안]PHP 해킹하기 #4 업로드 취약점사진[14] 퓨틱 2009.10.18 15698
3 [기초][보안]PHP 해킹하기 #3 다운로드 취약점[9] 퓨틱 2009.10.18 12760
2 [기초][보안]PHP 해킹하기 #2 SQL Injection[21] 퓨틱 2009.10.18 11044
>> [기초][보안]PHP 해킹하기 #1 NULL Byte Injection[16] 퓨틱 2009.08.31 13672
처음페이지이전 10 페이지1다음 10 페이지마지막페이지