能力值:
(RANK:350 )
|
-
-
2 楼
arhat做事确实严谨认真。
格式化串漏洞这块是个好的话题。
|
能力值:
(RANK:1260 )
|
-
-
3 楼
格式串漏洞在前几年风光一时,但漏洞猎人赶尽杀绝的做法,致使现在很少见到它的身影。
。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
谢谢!!!!!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
感著?主的辛?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
我要顶,感谢楼主
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
谢谢,一出来新的我就下载后看!!!楼主辛苦了!!
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
感觉翻译的过程也是成长的过程~,如果以后自己有水平了,也希望能加入TT小组,服务大家吗~,挺好的~,呵呵~,支持一下~arhat大哥~
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
支持楼主. 下载 中
|
能力值:
( LV12,RANK:210 )
|
-
-
10 楼
根据57页描述的
直接输出esp+(n*sizeof(int))的值
////////////////////////////
./dowu localhost "%3\$x"
应该会输出如下内容:
200-index bfffca9c
////////////////////////////
这里的"%3\$x"是printf的格式化控制,
我在vc6上的printf做的例子
printf("%3\$x", 1, 2, 3);
并不会输出3啊,输出$x;
如果printf("%3\x",1,2,3); 直接提示编译失败,\x后面必须跟
一个16进制数.
是不是linux的format跟windows的c运行库有区别??
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
请教:
关于wu-ftpd 书中说到:
"我们首先需要计算出我们提交的字符串在栈上的起始位置.于是我们可以执行下列命令:
for( (i = 1;i<1000;i++) ): do echo -n "$i" && ./dowu localhost "AAAAAAAAAAAAAAAA%$i\$x" 0;done | grep 4141
从输出的数据里面(在这个格式化串的开头)我们可以找到41414141的位置 ,在我的机器上是272"
这一段我一直没有理解是什么意思
只知道那个shell命令是执行999次循环 , 每次循环打印出序号i ,然后执行程序./down, 参数是那一串字符 然后找出结果包含4141的行
我不明白4141是哪里冒出来的?
也不明白site index AAAAAAAAAAAAAAAA%$i\$x 会出现什么结果呢?
ps:我是刚刚学习安全方面的学生 我想与一些也是刚起步的朋友们交流
我的qq是455010613 希望大家共同进步
|
能力值:
(RANK:1260 )
|
-
-
12 楼
回10楼
区别是肯定有的,否则两个平台之间的移植就容易了。
--------------------------------
回11楼
A=0x41
寻找4141,就是寻找“AAAAAAAAAAAAAAAA%$i\$x”中连续两个A
site index AAAAAAAAAAAAAAAA%$i\$x
执行上述命令,将触发有漏洞的wu-ftpd出错,你可以用GDB调试。
注意书中有些程序的输出因机器、操作系统的版本等原因而有所不同。
实践是检验真理的唯一标准。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
printf("ABCD%x...%x);
1)这个%x到底打印的是哪里的内容呢? 我也知道是打印出栈上的内容
但是具体是哪个地方呢? 2)随着%x的增加 某个%x会最后打印出DCBA的吧 但是%x增加了(printf参数长度增加) 会不会发生这个栈溢出 然后改写printf的返回地址啊? 不知道下面这个关于printf调用时 栈的情况的图 我画的对不对
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
看到这章了,再次为楼主的辛勤努力致敬
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
要读书,要读好书.谢谢
|
|
|