프로가 되자.

post search result

취약점와 관련된 글 2개를 찾았습니다.

  1. 2008/03/26 NetBot Attacker (6)
  2. 2007/03/16 ZeroBoard 취약점

NetBot Attacker

최근에 중국에서 인터넷에서 대규모의 웹 사이트들을 죽이는(!) 시도가 많아지고 있습니다.


그 중 NetBot Attacker는 DDoS(Distributed Denial of Service) attack을 "자동화" 해주는 프로그램입니다. script kiddie 들이 좋아할만 하죠;


아래 동영상이 중국어라.. 동작이 어떻게 되는건지는 자세히는 잘 모르지만, DDoS인 걸로 봐서, 처음에 ip를 선택하는 게 DDoS를 수행하는 IP(좀비 IP)라고 생각됩니다.

메인 화면에서 DDoS를 하게 만드는 IP들을 선택한 뒤 IP를 경유하여 공격을 시도하는거죠. 아마도 spyware류의 프로그램이 감염 된 사용자/서버의 IP가 아닐까 합니다.


보통 웹서버가 DDoS 막기는 힘들죠.. DDoS 당하면 죽어야됩니다.;; 필터링? DDoS에는 기준이 없기때문에 필터링 하기가 좀 곤란하죠. 아래 동영상에서 제가 본 것이 맞다면 5~6대만 경유하여도 서버 하나가 뻗기 때문에.. 조심해야겠네요.

게다가 이 공격은.. IP가 random 한데다가.. 실제로 공격하는 대상이 아무것도 모르는 60살 할아버지의 PC일수도 있다는게 문제이죠.


관련 논문들 보면 DDoS를 막기 위해서 초당 발생하는 traffic(syn/ack 등)를 분석하는 알고리즘에 대해 설명하고 있지만... 흠.. 일반 서버들에도 쉽게 적용할 수 있을 만큼의 DDoS를 방지하는 기술이 언제쯤 나올 수 있을까요???


항상 느끼는거지만 공격은 쉽지만 방어하긴 상당히 어렵네요.

이러한 종류를 저렴하게 방어하려면 우선 좀비 IP 잡는것부터 시작해야되는데...

그럴려면 일반 사용자나 서버 관리자의 교육부터가..; 에휴. 보안에서 대부분의 분야는 '주의성 없는 사용자의 뒤치닥거리'를 위해 있는 것 같습니다..;;


P.S. 현재 나온 DDoS 방어 솔루션도 있습니다만.. DDoS의 성격상, 방어하기 위해서는 충분한 대역폭, 충분한 네트워크 장비, 충분한 서버가 있어야 합니다 -_-; 트래픽이... 서버단으로 들어와서 막는다는건.... 이미 막지 못한거죠;


NetBot Attacker 동영상:

http://www.hackeroo.com/move/netbot_attacker.html

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/03/26 14:52 2008/03/26 14:52

top

About this post

이 글에는 아직 트랙백이 없고, 댓글 6개가 달려있고, , , , 태그가 달려있으며,
2008/03/26 14:52에 작성되었습니다.

ZeroBoard 취약점

제로보드 pl8에서 취약점이 발견 되었다.
이상한건.. 이 취약점에 대해서 언급이 전혀 되어 있질 않고 패치 파일 하나만 달랑 있는것이다..

그렇다면 무엇인 문제일까???

우선 패치된 부분을 보자.

기존 소스 (download.php)
mysql_query("update $t_board"."_$id set download".$filenum."=download".$filenum."+1 where no='$no'");


패치된 소스 (download.php)
if($filenum==1) {
  mysql_query("update `$t_board"."_$id` set download1=download1+1 where no='$no'");
} else {
  mysql_query("update `$t_board"."_$id` set download2=download2+1 where no='$no'");
}


달라진 부분은 $filenum 을 사용하는 곳인데..
이 변수를 필터링 하지 않는다는 것이다.
(zeroboard의 가장 큰 실수는 get방식을 쓰면서 필터링을 안한다는거..)

내가 사용하고 있는 php + mysql 버전에서는 쿼리를 한번에 2개 이상 날릴 수 없으므로
(기존의 php + mysql 조합에서 한번에 쿼리를 한번씩만 날릴 수 있는걸로 알고 있으며(최소한 내가 알기로는 그렇다), 실제로 시도해봐도 되지 않는다. 아니라면 리플 바람)
보면 그리 큰 문제가 될꺼 같진 않지만..

그렇다면 이제부터 간단한 공격을 시작해보자.

http://victim/zb_path/download.php?id=board_id&no=article_no&............filenum=1=99999 where no=article_no --&HTTP_REFERER=http://victim


filenum에 1또는 2, 그 뒤에 오는 99999는 download 횟수, article_no는 실제 게시물 번호.. 등등이다.
HTTP_REFERER는 zb에서 체크하기 때문에 임의대로 넣어줘야 한다.

이렇게 하면 게시물의 download 횟수가 99999로 바뀐것을 볼 수 있다.

자, 그렇다면 이게 다인가?..
조회수 올리기 위해서 이짓거리를 해야 하는가?
이런 의문이 든다면.. 지금 당장 zb설치 후 mysql에 들어가서..

describe zetyx_board_board_id;


라고 쳐보자.. 아이디어가 떠오르지 않는가..ㅋㅋ
처음에는 큰 문제가 될꺼 같지 않게 보여도 이걸 보면 많은 문제가 된다.
아마도 이런 문제들이 큰 파급효과를 일으키지 않을까 싶어서... 공개를 안한게 아닐까... 하는 생각이다.
(단순히 귀찮아서 안했을지도-_-)
크리에이티브 커먼즈 라이센스
Creative Commons License
2007/03/16 08:30 2007/03/16 08:30

top

About this post

이 글에는 아직 트랙백이 없고, 아직 댓글이 없고, , , , , 태그가 달려있으며,
2007/03/16 08:30에 작성되었습니다.

◀ recent : [1] : previous ▶

blog information

프로가 되자.
BLOG main image
빗소리를 먹는 사람.
RSS 2.0Tattertools
최근 글 최근 댓글 최근 트랙백
태그 구름사이트 링크