一直想发一些渗透过程的东西和大家分享,可是渗透成功呢要过很久才能发布,然后就忘记了,最近遇到了两次和前端JS对抗的渗透过程。虽然最终没有成功,不过蛮有意思的,和大家分享一下。
ONE
看到url中有一个css链接加上css这个关键属性字眼,于是等待网页加载结束后,直接右键查看源代码。
一上来就看到了一段JS代码,getArgs 再看到window.location.search就觉得这段代码需要看一看,很简单的一段代码,就是第一个函数事先获取问号以后的所有字符串,然后分割开存到args字典后返回,第二个函数把所有的特殊符号用html编码了,可以看到接下来还用了一个isinstyle的函数,没有在源代码中找到,说明他引用了外部的文件就在第五行,跟进去后看到是这样的
js代码很简洁简单就不多加介绍,就是看URLcss的参数链接里是不是没有特殊符号且域属于173和wanmei,有的话就不应用url中的css,用其自带的一个style。至此,感觉是过滤的非常严格了,如果没有\反斜杠过滤还可以构造xxx.xxx\.173.com/1.css,可是它过滤了除/意外的任何特殊字符,于是我便想,如果在173或者wmei上传一个含有恶意代码css代码的话,那是不是就可以无视这套规则了呢?可是上传一个css文件肯定是很困难的,那如果后缀是jpg的文件呢?浏览器会不会解析呢?于是先本地测试了一下,是成功解析了的。背景已经被换成了我们想要的颜色,css文件是jpg结尾的
然后去找173或者wanmei的上传点,发现对jpg的头部二进制标志有着很严格的限制,只改后缀是不行的,这时候又有一个新的问题,如果说用了二进制标志,那么css样式文件就会出错,一开始是想在头尾加上/**/注释掉再在尾巴加上style样式,可是现在头部写死了必须要用jpg的标示开头,这就陷入了一个死结。找了几个图片上传点,发现都是严格测试了jpg的头部,突然又想到另外一个版本,如上图,在头部标示后加上{}表示这是一个正常的css代码,前面的表示是其选择器的属性,然后再加上/*的注释符号尾部加上*/来结束并且写入我们要构造的恶意style代码,在本地构造参数测试成功后上传,却发现style文件并没有执行。浏览器解析后发现是0个规则,打开控制台发现错误报告,说返回的类型不是css,所以本地可以而上传到了网站就失效的原因。因为要控制返回头的类型不是很容易,所以这条路子基本上难以往下,不过构造payload和一些大胆的猜测其实还是有必要的,虽然这次疏忽了返回头这个点,至少下次就可以记住不能疏忽这个地方(tip:ie8是可以的。。。)
Two
这是一个注册页面,随便输入一个的昵称,可以看到如下图所示的界面,burpsuit没有任何的ajax请求,直接弹出了不正确
所以这个验证肯定是前端方面的验证,先构造一个符合标准的数据进行提交看看他的POST包长什么样
可以看到所有的数据都进行了加密,一开始我以为是都进行了md5加密,然后去md5加密网站把密码加密对比了一下,发现并不是md5,而是一种前端的验证。感觉游戏,因为前端验证严格的后段可能就忽略了,所有用浏览器审计一下
先全局查找一下按钮的id看看绑定的是什么事件,可以看到是validateregisterfrom事件,跟进去查找一下就出来了这个函数
发现他在前端设置flag,然后最后提交的时候眼flag是不是为true,是的话就利用加密函数加密所有信息,然后提交表单。
这里有两种办法可以绕过去,一种是浏览器打断点,把flase改成true就可以绕过这个验证,或者先输入正确的最后在上传的那个ajax语句前打断点修改表单数据,如下图
还可以把加密的函数拉出来写在自己本地的html里面或者本地html应用js文件通过调用encrypt函数,获得某个字符串加密后的数据,直接修改post数据包。
之后就是去找输出点了,这种昵称可以写数据的危害比较大,因为输出点比较多 一旦有一个地方没过滤好就GG不过我还没有找到。
总结
很多时候基础才是最重要的,基础决定你少走的不必要的弯路的让你找漏洞更加猥琐,想必那些大佬们基础一定磅礴到我们无法相信的地步了。
如果每天都坚持,心中有信仰,有目标,并且沉淀下来,不断的打牢固基础,最后一定可以成为你心中的那个人,那个独当一面的人。
猜你还喜欢
- 07-08八年专业安全团队承接渗透入侵维护服务
- 08-06SQLMAP的注入命令以及使用方法
- 08-03白帽故事汇:网络安全战士从来不是「男生」的专利
- 07-27编辑器漏洞手册
- 07-12web安全之如何全面发现系统后台
- 02-22常见Web源码泄露总结
- 07-25网站后台登陆万能密码
- 07-23破解emlog收费模板“Begin”
- 01-12批量检测SQL注入
- 01-22Apache Solr远程代码执行漏洞(CVE-2017-12629)从利用到入侵检测
- 随机文章
-
- 利用Github对安全人员进行钓鱼
- 探索基于.NET下实现一句话木马之ashx篇
- 移动端跨越攻击预警:新型APT攻击方式解析
- 对暗网黑市廉价RDP销售商店的调查
- 超级详细的一次提权流程
- 白帽子的指南
- 当Strust2遇到防火墙,你的思路够骚吗?
- 在Web服务器防止Host头攻击
- Ph0neutria:一款从野外采集恶意软件样本的工具
- 对自助提卡系统的一次代码审计
- 超过1万个基于WordPress的网站被黑客攻击
- “退改签”诈骗背后,到底谁为黑产大开方便之门?
- 经验分享|谈谈渗透测试中的信息搜集
- 技术讨论 | 记一次Node.Js反序列化攻击测试
- 99%的人都不知道的秘密:世上竟有如此酷炫的钓鱼系统!
- 文件上传限制绕过技巧
- 技术讨论 | 如何绕过并利用Bucket的上传策略和URL签名
- 后渗透阶段的权限维持(Windows篇)
- UEditor编辑器两个版本任意文件上传漏洞分析
- Apache Struts2 S2-057漏洞分析预警
- 热门文章
-
- 八年专业安全团队承接渗透入侵维护服务
- Emlog黑客站模板“Milw0rm”发布
- Stuxnet纪录片-零日 Zero.Days (2016)【中文字幕】
- SQLMAP的注入命令以及使用方法
- 白帽故事汇:网络安全战士从来不是「男生」的专利
- 编辑器漏洞手册
- web安全之如何全面发现系统后台
- 常见Web源码泄露总结
- 渗透测试培训(第五期)
- 深入理解JAVA反序列化漏洞
- cmseasy前台无需登录直接获取敏感数据的SQL注入(有POC证明)
- 网站后台登陆万能密码
- 黑麒麟2016渗透培训系列教程
- 破解emlog收费模板“Begin”
- 那些强悍的PHP一句话后门
- Android平台渗透测试套件zANTI v2.5发布(含详细说明)
- 渗透工具BackTrack与KaliLinux全套视频教程
- Python列为黑客应该学的四种编程语言之一 初学者该怎么学
- CVE-2017-11882漏洞复现和利用
- 恶意程序报告在线查询工具
文章存档
- 2021年3月(4)
- 2020年12月(4)
- 2020年11月(5)
- 2020年10月(8)
- 2020年9月(8)
- 2020年8月(20)
- 2020年7月(47)
- 2020年6月(70)
- 2020年5月(41)
- 2020年4月(21)
- 2020年3月(120)
- 2020年2月(26)
- 2019年12月(12)
- 2019年11月(13)
- 2019年10月(17)
- 2019年9月(15)
- 2019年8月(13)
- 2019年7月(15)
- 2019年6月(15)
- 2019年5月(19)
- 2019年4月(23)
- 2019年3月(19)
- 2019年2月(11)
- 2019年1月(29)
- 2018年12月(24)
- 2018年11月(56)
- 2018年10月(79)
- 2018年9月(20)
- 2018年8月(17)
- 2018年7月(16)
- 2018年6月(7)
- 2018年5月(10)
- 2018年3月(6)
- 2018年2月(2)
- 2018年1月(11)
- 2017年11月(18)
- 2017年10月(6)
- 2017年9月(8)
- 2017年8月(7)
- 2017年7月(7)
- 2017年6月(15)
- 2017年5月(30)
- 2017年4月(7)
- 2017年3月(1)
- 2017年2月(4)
- 2017年1月(1)
- 2016年12月(3)
- 2016年11月(7)
- 2016年10月(6)
- 2016年9月(6)
- 2016年8月(102)
- 2016年7月(24)
- 2013年7月(1)
- 文章标签
-