作家
登录

内核exploit——如何应对空指针异常现象

作者: 来源: 2017-10-26 09:24:54 阅读 我要评论

如今我们随便马虎地就能辨认出漏洞的函数,如下所示:

这一点异常重要,请谨记于心!是以,这两个指针在每次运行时都被设置一次(或者须要的话)。

  1. static ssize_t tostring_write(struct file *f, const char __user *buf,size_t len, loff_t *off) 
  2. char *bufk; 
  3. int i,j; 
  4. printk(KERN_INFO "Tostring: write()\n"); 
  5. bufk = kmalloc(len + 1, GFP_DMA); 
  6. if (bufk){ 
  7. if (copy_from_user(bufk, buf, len)) 
  8.     return -EFAULT; 
  9. bufk[len] = '\0'; 
  10. i=0
  11. while(i <len) { 
  12.   for (j=0;(j<10) && (bufk[j]=='*');j++); 
  13.   if (j == 10) { 
  14.     for (j=i+10;(bufk[j]!='\0') && (bufk[j] != '\n');j++); 
  15.     bufk[j]='\0'; 
  16.     printk("Tostring: Cmd %s\n",bufk+i+10); 
  17.     switch(bufk[i+10]) { 
  18.     case 'H': 
  19.       tostring->tostring_readtostring_read_hexa
  20.       break; 
  21.     case 'D': 
  22.       tostring->tostring_readtostring_read_dec
  23.       break; 
  24.     case 'S': 
  25.       printk("Tostring: Delete stack\n"); 
  26.       kfree(tostring->tostring_stack); 
  27.       tostring->tostring_stack=NULL
  28.       tostring->tostring_read=NULL
  29.       tostring->pointer=0
  30.       tostring->pointer_max=0
  31.       break; 
  32.     case 'N': 
  33.       printk("Tostring: Stack create with size %ld\n",local_strtoul(bufk+i+11,NULL,10)); 

      推荐阅读

      别不相信 大数据已经侵入到你生活的方方面面

    沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散! 大年夜数据这个词,几乎天天都邑听到。不过谈到这个词典,要么是科技公司介绍新技巧、要么是专家学者介绍将>>>详细阅读


    本文标题:内核exploit——如何应对空指针异常现象

    地址:http://www.17bianji.com/lsqh/38226.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)