当前位置: 首页 > 图文教程 > 网络安全 > 安全基础 > 突破ip封锁登陆论坛系统

安全基础
IE浏览器防黑十大秘籍,黑客也没招
网络工程师讲解系统安全漏洞的形成和防治
清除导致XP系统反复重启的新网银木马
识破QQ欺骗网络地址的几种方法汇总
安全基础知识 细说暴库的原理与方法
排除无线突然中断故障实例
强搜天线 搜出WiFi世界的安全漏洞
网管应用技巧 内网安全十大策略说明
如何修改局域网内部打印机的IP地址
如何找出IIS中隐藏的网站
EFS加密技术的概念分析及一次解密经过
提高Windows XP系统安全性要关闭的10种服务
PHPBB 2.0.22 MOD版最新注入漏洞
修复Windows系统忘记密码的9个高招
用SockOnline软件轻松突破端口限制
安全基础知识 最强0到33600端口详解
执行文件方式加密FLASH文件的解密方法
网吧被入侵后的应对解决方法
网页“黑手”如何攻击你的Windows系统
不要让别人读了你的信 谈私密数据保护

安全基础 中的 突破ip封锁登陆论坛系统


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-28   浏览: 41 ::
收藏到网摘: n/a

    教育部的一纸文件,国内各大高校的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思路)导致过滤不严密。

如果个人文件中有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