本类共有 2230 篇文章,今日更新 0

突破ip封锁登陆论坛系统

[ 来源:http://www.91now.com/down/ | 作者: | 时间:2007-5-21 12:06:31 | 浏览: 人次 ]

教育部的一纸文件,国内各大高校的bbs一夜之间都被设置成只允许校内发帖。我们学校论坛是采用bbsxp(破论坛系统),本来由于服务器带宽的原因,人气就很低。管理员哥哥又封了校外的ip,不能登陆发帖。好多斑竹都是在用校园里的铁通宽带上网,还有些毕业了的,我们电脑版的可爱的echo,都进不来....(废话一大堆)

  OK让我们开始。

  论坛过滤 ip是在setup.asp这个页, 

  if Request.Cookies("username") <> empty then

  sql="select * from [user] where username='"&HTMLEncode(Request.Cookies("username"))&"'"

  Set Rs=Conn.Execute(SQL)

  if rs.eof then Response.Cookies("username")=""

  if Request.Cookies("userpass") <> rs("userpass") then Response.Cookies("username")=""

  membercode=rs("membercode")

  userface=""rs("userface")&""

  newmessage=rs("newmessage")

  userlife=rs("userlife")

  set rs=nothing

  end if 

  if Request.ServerVariables("HTTP_X_FORWARDED_FOR")=empty then

  remoteaddr=Request.ServerVariables("REMOTE_ADDR")

  else

  remoteaddr=Request.ServerVariables("HTTP_X_FORWARDED_FOR")

  end if 

  if badip<>empty then

  filtrate=split(badip," ")

  for i = 0 to ubound(filtrate)

  if instr(" "remoteaddr&""," "&filtrate(i)&"") > 0 then response.redirect "inc/badip.htm"

  next

  end if 

  if Request.Cookies("skins")=empty then Response.Cookies("skins")=style 

  这段代码就是setup.asp里验证用户这块,先读下吧.如果cookies不为空,则读取数据库验证用户的密码是否正确,正确的话定义变量,把一些需要用到的变量全都用数据库里读出来的数据赋值。然后进行读ip.如果ip属于被封的,则导向badip.htm禁止发登陆。

  我们学校的系统和这个代码有出入,他们是自己改的代码。把校外的ip 全封掉,不过都是在这个基础上改的。他们的验证是另外写了一段代码验证的。应该是在登陆页做的封ip段代码,猜想是先判断cookies是否是真的,如果存在的话就直接跳过验证ip那段。如果为空的话,则用户没有登陆,然后才进行ip验证。他们的思路应该是这样。(没办法,不是我自己的系统,只能猜他们的封ip思路)导致过滤不严密。 

热门推荐: 抢先体验QQ2005 Beta2全新功能 QQ“互动状态”快速沟通使用手册


  如果个人文件中有cookies,系统就认为用户已经登陆,而不再进行ip的验证。这个就是我们今天破解被锁ip登陆的关键之处。伪造cookies 

  GET /images/closedfold.gif HTTP/1.1

  Accept: */*

  Referer: [url]http://bbs.glite.edu.cn/ShowForum.asp?forumid=31[/url]

  Accept-Language: zh-cn

  Accept-Encoding: gzip, deflate

  If-Modified-Since: Wed, 15 May 2002 07:17:34 GMT

  If-None-Match: "07b5995e0fbc11:17b1"

  User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)

  Host: bbs.glite.edu.cn

  Connection: Keep-Alive

  Cookie: onlinetime=2005%2D5%2D28+14%3A43%3A04; addmin=60; ASPSESSIONIDACBSQCCT=LKFHJHECMPOOCDCPHEJIADHC; forumid=31; filename=%7C2005528131326%7C2005528134747; username=yuan8627; userpass=F1913EB31C9CA1F1341B1DC9DE069D8C; eremite=0 

  抓包显示cookies内容,上线时间onlinetime 在线分钟数addmin,看这段 username=yuan8627; userpass=F1913EB31C9CA1F1341B1DC9DE069D8C;。我们不得不又一次骂bbsxp这个论坛垃圾,用户名和密码都是数据库中的,虽然经过md5加密。dvbbs中cookies里的密码和数据库中的密码不一样,分开验证,所以伪造cookies几乎不可能。bbsxp 中代码的安全考虑不够,还号称国内最安全....如果有用户而已劫持了斑竹或者是管理员的cookies,然后进行cookies伪造,前台的权限可以删除帖子,修改帖子,版块。后果不堪设想。这个只留给有心的人了。

  我们今天是要伪造个登陆过的cookies,然后突破ip封锁。 

  不能进行登陆,所以不能用iecv.exe来进行编辑.cookies 修改的同时会修改目录下的 index.dat这个文件{IE的索引文件,浏览的网页越多暗藏的“index.dat”索引文件容量也就越大。此选项可以初始化index.dat文件。}我发现ie下有个导入导出cookies功能,所以先把自己的cookies导出,然后再用把用户名和密码替换成另外一个号的,然后再进行导入。发现成功了,cookies导入的同时修改了目录下的index.dat 文件

  所以,我们只需要自己把以前的cookies导出,然后在需要进入论坛的时候直接导入就可以自由的出入论坛了,再也没有ip的限制。

  我在铁通的校外网上测试成功。 

  # Internet Explorer cookie file, exported for Netscape browsers.

  bbs.glite.edu.cn TRUE / FALSE 1149109143 username 请用你的用户名覆盖

  bbs.glite.edu.cn TRUE / FALSE 1149109143 userpass 请用你的经过加密的密码覆盖

  bbs.glite.edu.cn TRUE / FALSE 1149109143 eremite 0

  这个是导出的cookies文件内容,直接用自己的用户名和经过MD5加密的密码覆盖,用ie导入就可以进入论坛了。

  MD5是32加密,加密工具上网搜一下一大把。文章就写到这里了,笔者水平有限,如果有什么需要斧正之处,欢迎到我的Blog上拍砖,地址是:http://531200.water2000.com/

  
热门推荐: 抢先体验QQ2005 Beta2全新功能 QQ“互动状态”快速沟通使用手册


【责任编辑:李旭海】



【责任编辑 李旭海】

广告位