代码执行:"data" URL scheme
data协议最初是用来在HTML中内嵌小图片的,以下代码是RFC2397中的一段示例代码:
<img src="data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAwAAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFzByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSpa/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJlZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uisF81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PHhhx4dbgYKAAA7">
或者是为本地应用程序传递参数。
基本格式:
data:[<mediatype>][;base64],<data> mediatype: [type "/" subtype] * (";" parameter) data: *urlchar parameter: attribute "=" value
mediatype的默认值是:
text/plain;charset=US-ASCII
php 5.2以上版本提供了stream wrappers,支持data。
基本利用形式:
?file=data:text/plain;base64,base64_exploit_code
优点:
- 不需要远程服务器进行远程文件包含;
- 可以绕过防火墙的出站规则;
使用条件:
- allow_url_fopen和allow_url_include必须全部开启
参考链接:
- https://www.rfc-editor.org/rfc/rfc2397#:~:text=RFC%202397%20The%20%22data%22%20URL%20scheme%20August%201998,of%20such%20types%20using%20the%20%22data%22%20URL%20scheme.
- https://www.idontplaydarts.com/2011/03/php-remote-file-inclusion-command-shell-using-data-stream/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律