首页
社区
课程
招聘
[求助]分析imagetragic漏洞时候遇到的问题
发表于: 2016-5-8 12:27 2382

[求助]分析imagetragic漏洞时候遇到的问题

2016-5-8 12:27
2382
这段代码在imagemagic完整编译运行时候
用gdb调试,指针移动到'}',这个字符,没有在白名单里面,*p是会把它替代为'_'的
但是我单独拉出来调试,会产生exc_bad_access报错
并且它这个for循环写的方式我也不是很理解。求大牛!

#include <stdio.h>
#include <stdlib.h>

int main(){
    char
    *sanitize_command =
    "\"curl\" -s -k -L -o \"/tmp/magick-125118wReF3gWkDiys\" \"https://example.com/im}age.jpg\";ls \"-la\"";
    const char  *q;
    register char   *p;
    static char whitelist[] =
    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_- "
    ".@&;<>()|/\\\'\":%=~`";
   
    p=sanitize_command;
   
    q=sanitize_command+strlen(sanitize_command);
   
    for (p+=strspn(p,whitelist); p != q; p+=strspn(p,whitelist)){
        *p='_';
    };

    return(sanitize_command);

}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//