五千年(敝帚自珍)

主题:如何用绿坝养肉鸡(一) -- 代码ABC

共:💬168 🌺312 🌵1
全看分页树展 · 主题 跟帖
家园 那麻烦老兄讲讲

以windows来讲,比如说用户A,和用户B,肯定他们

机器内部的内存分配情况是不一样的。 因为WINDOWS

使用DLL。好了,现在你人为的制造了一个缓冲区溢出,刚好修改了函数的EIP。 本来应该是函数返回的指令现在变成了你想执行的一条指令。 现在问题来了

A和B的情况是不一样的,你设计针对A的指令,怎么才能在B上执行呢? 比如说对A 你是一条 JUMP 0X774B

可B上面 0X774B 根本就没代码。怎么保证这个??

好把,照你说的,修改堆栈指针,其实着个和JUMP是一样的,都面临一个你怎么保证,找到自己的代码地址的问题。因为A和B的内存分配情况是不一样的。

好吧,你说,我去查寻,基址寄存器和偏移寄存器表。找到我的代码放在什么地方,然后把指针转过去。 可是, IE进程是运行在3级环上的,只有运行在0级环上的KERNDLL,才能查讯地址寄存器表。否则马上就是一个硬中断。 那怎样才能把这个80386微代码的保护措施饶过去呢??

LINUX 是因为有一些用户指令,名义上是用户指令,但是其实是运行在ROOT权限下的。术语叫“短暂提升用户级”这样才能运行很多 在0级别环下的特权,才能干点别的。 我都怀疑着个是故意留下的攻击漏洞。

对WINDOWS来讲, 没这一类的东西,你怎么攻击呀

你写的汇编代码马上就会引发一个“地址保护错误”的硬中断出来。

怎样用IE突破保护去操做KERNDLL,这个怕是微软的一个秘密吧。

要是能拿到那种只给厂商的怎么写底层驱动的指南,估计会有办法。 不然的话,只能理论上说说而已。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河