当前位置: 首页 > news >正文

网站建设公司营业执照ppt网站超链接怎么做

网站建设公司营业执照,ppt网站超链接怎么做,网站建设毕业设计论文,厦门有什么网站制作公司前言 glibc2.35删除了malloc_hook、free_hook以及realloc_hook#xff0c;通过劫持这三个hook函数执行system已经不可行了。 传统堆漏洞利用是利用任意地址写改上上述几个hook从而执行system#xff0c;在移除之后则需要找到同样只需要修改某个地址值并且能够造成程序流劫持…前言 glibc2.35删除了malloc_hook、free_hook以及realloc_hook通过劫持这三个hook函数执行system已经不可行了。 传统堆漏洞利用是利用任意地址写改上上述几个hook从而执行system在移除之后则需要找到同样只需要修改某个地址值并且能够造成程序流劫持的效果。 __call_tls_dtors 在程序返回时会通过exit函数exit函数会经历以下调用过程 exit - __run_exit_handlers - __call_tls_dtors 而__call_tls_dtors函数中则存在着可以进行劫持的地址__call_tls_dtors函数的执行如下 • 判断tls_dtor_list为空 • 不为空则将tls_dtor_list赋值给cur • 取出函数指针cur-func • 通过PTR_DEMANGLE宏解密指针值 • 执行函数指针 void __call_tls_dtors (void) {while (tls_dtor_list){struct dtor_list *cur  tls_dtor_list;dtor_func func  cur-func; #ifdef PTR_DEMANGLEPTR_DEMANGLE (func); #endiftls_dtor_list  tls_dtor_list-next;func (cur-obj);atomic_fetch_add_release (cur-map-l_tls_dtor_count, -1);free (cur);} } 通过上述流程可知若能够劫持tls_dtor_list则可以将cur-func指向的位置修改为system函数。具体取出tls_dtor_list的汇编语言如下 • 首先取出tls_dtor_list的下标值即rbx寄存器的值为0xffffffffffffffa8转换为十进制为-88 • 而该下标是用fs进行寻址的然后取出tls_dtor_list的值判断是否为空 那么假设已经存在任意地址写的漏洞并且将tls_dtor_list修改为不是空值看看后续会进入哪些校验流程 首先遇到第一个问题在后续的流程中需要将tls_dtor_list的内容作为指针值进行索引因此我们不能够直接将system函数的地址写入tls_dtor_list而是需要将指向system函数的指针写入。即在堆题中我们新创建一个堆并在堆内容写入system函数的地址然后将堆地址填充到tls_dtor_list中 根据上述的方法我们成功进入后续的流程 但是在执行函数执行时会遇到另一个问题最后的指针值被修改为乱七八糟的值了。 这是因为上述的宏定义PTR_DEMANGLE需要将函数指针进入一个解密的流程因此在传递指针值时需要先传递一个加密后的指针值。解密的流程如下 先将指针循环右移0x11然后与fs:[0x30]进行异或。循环右移比较好解决先将指针循环左移即可。但是这个异或值则需要获得fs:[0x30]的值。 0x7ffff7c45d88 __call_tls_dtors40    ror    rax, 0x110x7ffff7c45d8c __call_tls_dtors44    xor    rax, qword ptr fs:[0x30] 也可以看到这个值是一个八字节的随机值因此通过爆破获得的可能性不大。 那么该攻击方法需要的一个要求就是能够获得该随机值或者能够篡改该值。需要注意点是指针值是先循环右移在异或因此在加密指针时需要先异或在循环左移。那么解决上述问题之后就能够正确调用地址了此时就应该考虑该函数指针需要如何传参。可以看到下图rdi寄存器是通过我们传入的指针值作为基地址进行寻址的只需要在偏移加8的位置填充/bin/sh的地址值即可。 POC #include stdio.h #include stdlib.h #include string.hunsigned long long rotate_left(unsigned long long value, int left) {return (value  left) | (value  (sizeof(unsigned long long) * 8 - left)); }int main() {unsigned long long fs_base;unsigned long long index  0xffffffffffffffa8;unsigned long long tls_dtor_list_addr;unsigned long long random_number;void *system_ptr  (void *)system;printf(system:%p\n,system_ptr);// 使用汇编嵌入获取FS寄存器的值asm(mov %%fs:0, %0 : r (fs_base));printf(Value in FS register: 0x%llx\n, fs_base);tls_dtor_list_addr  fs_base - 88;random_number  *(unsigned long long *)(fs_base  0x30);char *str_bin_sh  malloc(0x20);strcpy(str_bin_sh,/bin/sh);void *ptr  malloc(0x20);*(unsigned long long *)ptr  rotate_left((unsigned long long)system_ptr ^ random_number,0x11);*(unsigned long long *)(ptr  8)   str_bin_sh;*(unsigned long long *)tls_dtor_list_addr  ptr;return 0; } 总结 简单总结一下通过tls_dtor_list劫持exit执行流程的条件 • 存在任意地址写的漏洞利用 • 能够篡改或泄露fs_base 0x30的值 • 程序会通过exit函数结束程序若是通过_exit则不
http://wiki.neutronadmin.com/news/11918/

相关文章:

  • 上海网站开发哪家好薇浏览器入口
  • 深圳住房和建设局网站业务主题wordpress分库
  • 通付盾 建设公司网站网站建设需要交文化建设税吗
  • 营销做网站公司男和男做的视频网站
  • wordpress 标签 中文乱码企业网站如何做seo
  • 微信 网站设计模板赣州网站seo
  • 中国十二冶金建设有限公司网站wordpress如何打赏
  • 装饰公司怎么做网站怎么做网址
  • 沈阳专业网站制作团队招聘高级网站建设
  • 网站目录结构说明oneinstack wordpress
  • 网站后台注入如何建立免费的个人企业网站
  • 东莞seo建站哪家好有没有做美食的小视频网站
  • 自己有网站怎么做竞价简约中国风免费ppt模板
  • 五金 东莞网站建设今天重庆新闻头条
  • 网站订单模板嘉兴网站制作计划
  • 可以做企业宣传的网站做防伪查询网站
  • 版式设计模板福州搜索引擎优化
  • 张家港网站建设早晨设计公司网站建设会计上怎么处理
  • 绛帐做网站html5网页设计论文
  • 邢台地区网站建设口碑好青海中小企业网站建设
  • 快速搭建网站前端插件西安网站建设雄账号
  • 全网模板建站系统qq是由哪家公司开发的
  • 做网站原型的简单工具dede可以做购物网站吗
  • 怎样搭建一个网站php 网站开发案例教程
  • 做婚庆网站有哪些网站开发哪些
  • 广州建网站哪儿济南兴田德润简介网站建设留言板的实现
  • 做公司网站需要什么手续京粉购物网站怎么做
  • 设计网站技术北京网站建设降龙
  • 做ppt图片用的网站有哪些问题网站建设的技术团队
  • 网站云优化网上下载的文件打开是乱码怎么办