제로보드 스팸 게시물 삭제
제로보드 가 2008년에 단종이 되고 XE가 나왔습니다.
그런데 이 단종된 제로보드 를 아직도 많이 사용하고 있습니다.
왜냐! 만드는 사람 입장에서는 쉽고 빠르게 홈페이지 하나를 뚝딱 만들수 있어 클라이언트에 빨리 납품하기 좋고, 클라이언트 입장도 빨리 나오니 좋은 거고..
그런데 대부분의 클라이언트들이 제작해준 업체 또는 사람이 연락이 되지 않는 상황에서 몇 년째 사용해오고 있습니다.
이것이 문제입니다.
제로보드 는 국내 최대 사용자를 가졌던 게시판 프로그램으로 많은 해커들의 표적이 되어 인젝션 공격, 변조, 파일 업로드 공격 등을 당하고 지금도 당하는 중입니다.
이 포스트에서는 이 제로보드 의 스팸 게시물 처리에 대해 다루고자 합니다.
0 1 2 3 4 5 6 7 8 9 10 11 12 |
mysql> select * from zetyx_board_comment_gallery order by no desc limit 1\G *************************** 1. row *************************** no: 212384 parent: 8 ismember: 0 name: tadalafil password: *93176491685F163B3B71747D03F2DE1E15D11C09 memo: <a href=http://www.cialisedaustralia.com/ target=_blank>http://www.cialisedaustralia.com/</a> cialis, <a href=http://www.cialisvsviagrapillsusa.com/ target=_blank>http://www.cialisvsviagrapillsusa.com/</a> viagra.com, <a href=http://www.tadalafilexclusive.com/ target=_blank>http://www.tadalafilexclusive.com/</a> buy tadalafil, <a href=http://www.viagrapriceusarx.com/ target=_blank>http://www.viagrapriceusarx.com/</a> viagra online ip: 189.28.166.79 reg_date: 1462257370 1 row in set (0.02 sec) |
위 처럼 제로보드의 테이블은 zetyx_ 로 시작하며, 위 쿼리에 사용된 테이블은 zetyx_board_comment_gallery 로 gallery 게시판의 comment 입니다.
한국 홈페이지의 게시판 comment 에는 대부분 한글로 달리며, 영문이나 http:// 들어가는 comment 는 대부분 스팸입니다.
이제 지워 봅시다.!
0 1 2 3 4 5 6 7 8 9 10 11 |
mysql> DELETE FROM `zetyx_board_comment_gallery` WHERE `memo` REGEXP '[a-z][A-Z]'; Query OK, 211319 rows affected (9.20 sec) mysql> OPTIMIZE TABLE zetyx_board_comment_gallery; +-----------------------------------+----------+----------+----------+ | Table | Op | Msg_type | Msg_text | +-----------------------------------+----------+----------+----------+ | sekjb.zetyx_board_comment_gallery | optimize | status | OK | +-----------------------------------+----------+----------+----------+ 1 row in set (0.28 sec) |
이제 재대로 지워졌는지 볼까요?
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
mysql> select count(*) from zetyx_board_comment_gallery; +----------+ | count(*) | +----------+ | 154 | +----------+ 1 row in set (0.00 sec) mysql> select * from zetyx_board_comment_gallery order by no desc limit 2\G *************************** 1. row *************************** no: 144374 parent: 84 ismember: 0 name: new jersey password: *8AD9AFE74C1E732C310D3EE5CA5D111A0255292C memo: , ? ip: 46.118.152.66 reg_date: 1438554521 *************************** 2. row *************************** no: 144361 parent: 101 ismember: 0 name: louisiana password: *D70AFD8E80CDF59877CF0D5E94F355C77F132C30 memo: , ? ip: 46.118.152.66 reg_date: 1438532991 2 rows in set (0.00 sec) |
음.. 일단 덜 지워진듯하죠? 필드 몇 개만 해서.. 다시 볼께요..
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
mysql> select no,memo from zetyx_board_comment_gallery order by no desc limit 5; +--------+--------+ | no | memo | +--------+--------+ | 144374 | , ? | | 144361 | , ? | | 144351 | , ? | | 144320 | , ? | | 144314 | , ? | +--------+--------+ 5 rows in set (0.00 sec) mysql> select no,memo from zetyx_board_comment_gallery limit 5; +-----+--------------------------------------------------------------------+ | no | memo | +-----+--------------------------------------------------------------------+ | 480 | 와우~사진 너무 멋져요^^ 감사합니다~ | | 481 | ㅋㅋ얼굴가린 저 사진 맘에 들어요 ㅎㅎ 모두 모두 수고 많으셨어요~ | | 483 | 샘도 수고 만땅 했시유~~ | | 484 | 모두 멋진데...안 사람이 안 멋지다. ㅋㅋ | | 489 | 많은 관심 바랍니다. | +-----+--------------------------------------------------------------------+ |
우선 한글이 있으니까. 정상 comment 와 스팸 comment 가 만나는 구간을 찾아 봅시다.
0 1 2 3 4 5 6 7 8 9 10 11 12 |
mysql> select no,memo from zetyx_board_comment_gallery where no >= 489 limit 5; +-------+------------------------------------------------------------------+ | no | memo | +-------+------------------------------------------------------------------+ | 489 | 많은 관심 바랍니다. | | 39218 | игровые автоматы покер винджаммер | | 40316 | игровые автоматы слоты играть бес | | 41288 | онлайн казино рулетка бесплатно, а | | 41419 | казино с бездепозитным бонусом на | +-------+------------------------------------------------------------------+ 5 rows in set (0.00 sec) |
이제 no 가 489 보다 큰 놈들만 삭제하면 됩니다.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
mysql> delete from zetyx_board_comment_gallery where no > 489; Query OK, 149 rows affected (0.00 sec) mysql> optimize table zetyx_board_comment_gallery; +-----------------------------------+----------+----------+----------+ | Table | Op | Msg_type | Msg_text | +-----------------------------------+----------+----------+----------+ | sekjb.zetyx_board_comment_gallery | optimize | status | OK | +-----------------------------------+----------+----------+----------+ 1 row in set (0.00 sec) mysql> select count(*) from zetyx_board_comment_gallery ; +----------+ | count(*) | +----------+ | 5 | +----------+ 1 row in set (0.00 sec) mysql> select no,memo from zetyx_board_comment_gallery; +-----+--------------------------------------------------------------------+ | no | memo | +-----+--------------------------------------------------------------------+ | 480 | 와우~사진 너무 멋져요^^ 감사합니다~ | | 481 | ㅋㅋ얼굴가린 저 사진 맘에 들어요 ㅎㅎ 모두 모두 수고 많으셨어요~ | | 483 | 샘도 수고 만땅 했시유~~ | | 484 | 모두 멋진데...안 사람이 안 멋지다. ㅋㅋ | | 489 | 많은 관심 바랍니다. | +-----+--------------------------------------------------------------------+ |
이제 제로보드의 갤러리게시판 정상 코멘트만 남고 싹~ 깨끗해졌습니다.
제로보드 게시판을 사용하시면서 스팸에서 조금이나마 해방되시려면 회원제로 운영하세요.
그런 1차로 아무도 글을 쓸수 없기때문에 스팸이 많이 줄어듭니다.
그리고, 어짜피 한국분들만 접속하신다면 서버 관리자에게 한국 빼고 다 막아주세요! 하면 왠만해서 스팸 안들어 옵니다.