火狐浏览器
我已向 Mozilla 报告了 webkitdirectory 功能中的三个不同错误。幸运的是,文件夹选择器仅在 Mozilla 的 Nightly 浏览器中实现,该浏览器旨在在稳定版本发布之前测试新功能。
错误 1295914 - webkitdirectory 可用于诱骗用户允许访问任意文件夹 (SEC-MEDIUM)
我报告的第一个涉及文件夹选择器的错误是错误的语义。此错误完全受 Google Chrome 中修复的一个旧错误的启发,该错误涉及 UX 标题的描述性不强。这可能会导致欺骗毫无戒心的用户。
错误 1319370 (CVE-2017-5414) webkitdirectory - 操作系统用户名泄露 (SEC-MEDIUM)
我认为第二个错误是实现完全本地文件泄露的关键因素。这里的问题是,当文件选择器打开一次时,第二次打开时它会下降一个文件夹。
因此我制作了一个 PoC,它展示了如果我们诱骗受害者按住“Enter”键,那么我们也可以在此过程中弹出文件选择器,这将导致用户“选择”他们不知道的文件夹。
为了获取操作系统用户名,受害者需要按住 Enter 按钮两次打开文件选择器对话框,因为(在 Windows 上)默认目录是“C:\Users\{username}\Desktp\”。
这是我们在尝试利用此漏洞时所依赖的主要用户交互,灵感来自这个较旧的 Mozilla 漏洞。另一种方法是诱骗用户反复按下某个位置并在那里弹出文件夹选择器,这样“确认选择”按钮就会自动按下。
Bug 1338637 - input[webkitdirectory] 中的任意本地文件泄露(SEC-MEDIUM)
我发现如果在用户按住“Enter”键时弹出文件选择器,那么我们就可以诱骗受害者授予我们对默认目录中所有文件的完全访问权限。这有一些限制,在 Windows 操作系统上似乎只有“我的文档”文件夹会受到影响。
如果是其他文件夹,如“桌面”(默认文件夹),则不会加载任何内容。这在其他操作系统上是另一回事。
值得庆幸的是,我们之前有一个错误,文件夹会在使用文件夹选择器后下降,所以我在错误报告中利用了这一点。
以下是报告的原始 PoC。请注意,第一个错误实际上没有 PoC 代码(除了文件选择器 html),我将第二个和第三个错误合并为一个 PoC。
我已向 Mozilla 报告了 webkitdirectory 功能中的三个不同错误。幸运的是,文件夹选择器仅在 Mozilla 的 Nightly 浏览器中实现,该浏览器旨在在稳定版本发布之前测试新功能。
错误 1295914 - webkitdirectory 可用于诱骗用户允许访问任意文件夹 (SEC-MEDIUM)
我报告的第一个涉及文件夹选择器的错误是错误的语义。此错误完全受 Google Chrome 中修复的一个旧错误的启发,该错误涉及 UX 标题的描述性不强。这可能会导致欺骗毫无戒心的用户。
错误 1319370 (CVE-2017-5414) webkitdirectory - 操作系统用户名泄露 (SEC-MEDIUM)
我认为第二个错误是实现完全本地文件泄露的关键因素。这里的问题是,当文件选择器打开一次时,第二次打开时它会下降一个文件夹。
因此我制作了一个 PoC,它展示了如果我们诱骗受害者按住“Enter”键,那么我们也可以在此过程中弹出文件选择器,这将导致用户“选择”他们不知道的文件夹。
为了获取操作系统用户名,受害者需要按住 Enter 按钮两次打开文件选择器对话框,因为(在 Windows 上)默认目录是“C:\Users\{username}\Desktp\”。
这是我们在尝试利用此漏洞时所依赖的主要用户交互,灵感来自这个较旧的 Mozilla 漏洞。另一种方法是诱骗用户反复按下某个位置并在那里弹出文件夹选择器,这样“确认选择”按钮就会自动按下。
Bug 1338637 - input[webkitdirectory] 中的任意本地文件泄露(SEC-MEDIUM)
我发现如果在用户按住“Enter”键时弹出文件选择器,那么我们就可以诱骗受害者授予我们对默认目录中所有文件的完全访问权限。这有一些限制,在 Windows 操作系统上似乎只有“我的文档”文件夹会受到影响。
如果是其他文件夹,如“桌面”(默认文件夹),则不会加载任何内容。这在其他操作系统上是另一回事。
值得庆幸的是,我们之前有一个错误,文件夹会在使用文件夹选择器后下降,所以我在错误报告中利用了这一点。
以下是报告的原始 PoC。请注意,第一个错误实际上没有 PoC 代码(除了文件选择器 html),我将第二个和第三个错误合并为一个 PoC。
This media is not supported in your browser
VIEW IN TELEGRAM
如何设置DNS,如何选择最快最时候的DNS服务器
Fastcgi协议分析 && PHP-FPM未授权访问漏洞 && Exp编写
PHITHON Apr 25, 2017, 10:46 PM 阅读:71430 网络安全 php-fpm, fastcgi
搭过php相关环境的同学应该对fastcgi不陌生,那么fastcgi究竟是什么东西,为什么nginx可以通过fastcgi来对接php?
Fastcgi Record
Fastcgi其实是一个通信协议,和HTTP协议一样,都是进行数据交换的一个通道。
HTTP协议是浏览器和服务器中间件进行数据交换的协议,浏览器将HTTP头和HTTP体用某个规则组装成数据包,以TCP的方式发送到服务器中间件,服务器中间件按照规则将数据包解码,并按要求拿到用户需要的数据,再以HTTP协议的规则打包返回给服务器。
类比HTTP协议来说,fastcgi协议则是服务器中间件和某个语言后端进行数据交换的协议。Fastcgi协议由多个record组成,record也有header和body一说,服务器中间件将这二者按照fastcgi的规则封装好发送给语言后端,语言后端解码以后拿到具体数据,进行指定操作,并将结果再按照该协议封装好后返回给服务器中间件。
和HTTP头不同,record的头固定8个字节,body是由头中的contentLength指定,其结构
PHITHON Apr 25, 2017, 10:46 PM 阅读:71430 网络安全 php-fpm, fastcgi
搭过php相关环境的同学应该对fastcgi不陌生,那么fastcgi究竟是什么东西,为什么nginx可以通过fastcgi来对接php?
Fastcgi Record
Fastcgi其实是一个通信协议,和HTTP协议一样,都是进行数据交换的一个通道。
HTTP协议是浏览器和服务器中间件进行数据交换的协议,浏览器将HTTP头和HTTP体用某个规则组装成数据包,以TCP的方式发送到服务器中间件,服务器中间件按照规则将数据包解码,并按要求拿到用户需要的数据,再以HTTP协议的规则打包返回给服务器。
类比HTTP协议来说,fastcgi协议则是服务器中间件和某个语言后端进行数据交换的协议。Fastcgi协议由多个record组成,record也有header和body一说,服务器中间件将这二者按照fastcgi的规则封装好发送给语言后端,语言后端解码以后拿到具体数据,进行指定操作,并将结果再按照该协议封装好后返回给服务器中间件。
和HTTP头不同,record的头固定8个字节,body是由头中的contentLength指定,其结构
❤1
开发阶段内存调优: 把一切都控制在最开始
开发过程中,为了方便开放者定位和调试所研发的微信小游戏的内存问题,本文推荐三款内存调试工具
微信开发者工具Performence与Memory
微信开发者工具中内置了Google Chrome DevTools 工具, DevTools可以帮助开发人员即时编辑页面并快速诊断问题,最终可以帮助开发人员更快地构建更好的小游戏。
Android真机性能工具
微信Android端自身集成了三种内存分析工具,分别是性能监控面板、Heap Snapshot、V8-CPU-Profile。开发者可通过三者监控Android真机环境下各性能指标。
PerfDog
移动全平台iOS/Android性能测试、分析工具平台。快速定位分析性能问题,提升APP应用及游戏的性能和品质。手机无需ROOT/越狱。手机硬件、游戏及APP应用也无需做任何修改,极简化即插即用。
开发过程中,为了方便开放者定位和调试所研发的微信小游戏的内存问题,本文推荐三款内存调试工具
微信开发者工具Performence与Memory
微信开发者工具中内置了Google Chrome DevTools 工具, DevTools可以帮助开发人员即时编辑页面并快速诊断问题,最终可以帮助开发人员更快地构建更好的小游戏。
Android真机性能工具
微信Android端自身集成了三种内存分析工具,分别是性能监控面板、Heap Snapshot、V8-CPU-Profile。开发者可通过三者监控Android真机环境下各性能指标。
PerfDog
移动全平台iOS/Android性能测试、分析工具平台。快速定位分析性能问题,提升APP应用及游戏的性能和品质。手机无需ROOT/越狱。手机硬件、游戏及APP应用也无需做任何修改,极简化即插即用。
Java框架安全
Mybatis注入问题Mybatis是目前比较常用的ORM的框架,一般与SpringMVC框架整合较多,但使用不当会有SQL注入的风险。Mybatis里mapper中SQL语句的写法支持两种形式的占位符,一种是#{value}一种是${value}.使用#进行占位时,如:
Mybatis注入问题Mybatis是目前比较常用的ORM的框架,一般与SpringMVC框架整合较多,但使用不当会有SQL注入的风险。Mybatis里mapper中SQL语句的写法支持两种形式的占位符,一种是#{value}一种是${value}.使用#进行占位时,如:
<selectid="selectUsername"resultType="com.example.bean.Admin"> select * from admin where username='#{username}'</select>内部实现是使用了JDBC预编译技术:String sql = “select * from admin where username=?” ;PreparedSatement ps = conn.prepareStatement(sql) ;Ps.setString(“admin”, username) ;但是使用$进行占位时,在内部实现中是字符串拼接:<selectid="selectUsername"resultType="com.example.bean.Admin"> select * from admin where username='${value}'</select>
Home > iOS安全–可执行文件dylib注入,无需越狱
iOS安全–可执行文件dylib注入,无需越狱
简单来说就是通过修改可执行文件的Load Commands,增加一个LC_LOAD_DYLIB,写入dylib路径。这样程序执行的时候就会来编译这个LC_LOAD_DYLIB找到要注入的dylib,从而进行加载
iOS安全–可执行文件dylib注入,无需越狱
简单来说就是通过修改可执行文件的Load Commands,增加一个LC_LOAD_DYLIB,写入dylib路径。这样程序执行的时候就会来编译这个LC_LOAD_DYLIB找到要注入的dylib,从而进行加载
Media is too big
VIEW IN TELEGRAM
在过去的几周里,我参加了很多 CTF(夺旗赛)——新旧皆有。老实说,我简直不敢相信我错过了什么。这段时间,我通过参加 CTF、阅读文章,甚至在 YouTube 上观看解决方案,学到了很多东西。这让我意识到我还有多少不知道的东西,也让我看到了我的知识空白在哪里。
我特别感兴趣的 CTF 之一是Google CTF。我非常喜欢 Google CTF 的原因是它允许初学者和专家参与,甚至允许 CTF 新手尝试一些安全挑战。
我选择参加初学者挑战,看看我的技能水平到底如何 - 虽然“大部分”都很容易,但仍然有一些挑战让我用头撞桌子,像疯子一样谷歌搜索。尽管 Google CTF 已经结束,解决方案也在网上,但我还是不惜一切代价避开了它们,因为我想“艰难地”学习。
这些新手挑战以“探索”形式呈现,场景类似于现实世界的渗透测试。这样的场景非常适合那些想要磨练技能、学习有关 CTF 和安全的新知识,同时还能让他们看到现实世界的价值和影响的人。
现在,有些人可能会想……“我需要知道或学习多少才能参加 CTF? ”或“ CTF 有多难?”
说实话,这要看情况。有些 CTF 可能比其他的复杂得多,例如DEFCON 的 CTF,甚至 Google 的 CTF 都相当复杂 - 但并非不可能!这完全取决于你的专业领域。
许多 CTF 团队都有专门从事代码审查和 Web 应用的人员,他们可以闭着眼睛完成 Web 挑战,但给他们一个二进制文件,他们不会知道EIP和ESP之间的区别。其他人也一样!当然,有些人是“万事通”,几乎可以做任何事情,但这并不意味着他们是所有领域的专家。
读完这篇文章后,你可能会问我——但我以前从未参加过 CTF!我怎么知道我是否准备好尝试一次了?
老实说,你永远都不会做好准备!总会有新的东西要学,有你从未见过的新东西,或者有挑战性的东西会突破你的知识极限,即使你是一个专家!这就是 CTF 的全部意义所在。
但是,有一些资源可以帮助您入门!
我特别感兴趣的 CTF 之一是Google CTF。我非常喜欢 Google CTF 的原因是它允许初学者和专家参与,甚至允许 CTF 新手尝试一些安全挑战。
我选择参加初学者挑战,看看我的技能水平到底如何 - 虽然“大部分”都很容易,但仍然有一些挑战让我用头撞桌子,像疯子一样谷歌搜索。尽管 Google CTF 已经结束,解决方案也在网上,但我还是不惜一切代价避开了它们,因为我想“艰难地”学习。
这些新手挑战以“探索”形式呈现,场景类似于现实世界的渗透测试。这样的场景非常适合那些想要磨练技能、学习有关 CTF 和安全的新知识,同时还能让他们看到现实世界的价值和影响的人。
现在,有些人可能会想……“我需要知道或学习多少才能参加 CTF? ”或“ CTF 有多难?”
说实话,这要看情况。有些 CTF 可能比其他的复杂得多,例如DEFCON 的 CTF,甚至 Google 的 CTF 都相当复杂 - 但并非不可能!这完全取决于你的专业领域。
许多 CTF 团队都有专门从事代码审查和 Web 应用的人员,他们可以闭着眼睛完成 Web 挑战,但给他们一个二进制文件,他们不会知道EIP和ESP之间的区别。其他人也一样!当然,有些人是“万事通”,几乎可以做任何事情,但这并不意味着他们是所有领域的专家。
读完这篇文章后,你可能会问我——但我以前从未参加过 CTF!我怎么知道我是否准备好尝试一次了?
老实说,你永远都不会做好准备!总会有新的东西要学,有你从未见过的新东西,或者有挑战性的东西会突破你的知识极限,即使你是一个专家!这就是 CTF 的全部意义所在。
但是,有一些资源可以帮助您入门!