代码执行:"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/

浙公网安备 33010602011771号