代码执行:"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必须全部开启

 参考链接:

  1. 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.
  2. https://www.idontplaydarts.com/2011/03/php-remote-file-inclusion-command-shell-using-data-stream/
posted @   泓溪  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示