主题:如何用绿坝养肉鸡(一) -- 代码ABC
以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,这个怕是微软的一个秘密吧。
要是能拿到那种只给厂商的怎么写底层驱动的指南,估计会有办法。 不然的话,只能理论上说说而已。
- 相关回复 上下关系8
压缩 2 层
🙂我要全明白,还来说这些干嘛 正反诸葛 字147 2009-06-23 13:36:07
🙂掐块Pizza给您,哈皮一下 高子山 字0 2009-06-21 22:25:12
🙂没那么神 pastebt 字170 2009-06-20 20:55:37
🙂那麻烦老兄讲讲
🙂咳咳。。。猪哥搞错了好多地方。。 2 凝雪幻 字1124 2009-06-28 20:33:06
🙂猪哥这个名字你自己用很好。给我也不要哈 正反诸葛 字466 2009-06-30 02:14:22
🙂就是后面说的那个定位,用调试的方法找到起点,再加长度 凝雪幻 字0 2009-07-08 21:41:30
🙂必须用的那个动态库其实是固定位置的 凝雪幻 字0 2009-07-08 21:41:23