免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2153 | 回复: 14
打印 上一主题 下一主题

关于printf [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-08 22:22 |只看该作者 |倒序浏览
请问printf函数中的$参数的用法是什默啊?谢谢

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-11-08 22:40 |只看该作者

关于printf

$参数?没见过。

论坛徽章:
0
3 [报告]
发表于 2004-11-08 22:56 |只看该作者

关于printf

Format String 漏洞介绍/总结(二)
bkbll(bkbll@cnhonker.net)
2003/4/8
2. format stirng 漏洞利用
通过前面讨论,我们很容易知道,如果要让我们的shellcode运行起来,必须要知道三个数据:
1. 我们要写的地址,want_write_addr
2. Printf参数后面多少位是我们自定义的数据地址,pad,也就是stack popup的值
3. 我们的shellcode地址.
为什么我们要知道pad的数值呢?printf提供了一个$参数给我们,
                         ~~~~~~~~~~~~~~~~~~~~~~~~~
允许用户不用一个个显示参数,可以自定义显示数据,比如:
[bkbll@mobile fmtxp_lib]$ cat 7.c
main()
{
int i=1,j=2;

printf("j=%2$d i=%1$d\n",i,j);

}
[bkbll@mobile fmtxp_lib]$ cc 7.c ; ./a.out
j=2 i=1
[bkbll@mobile fmtxp_lib]$
有了这个$参数,我们也可以很容易控制写入到某个地址的数据地址:
比如,我们想写入900到变量n里面,我们可以这样写:
[bkbll@mobile fmtxp_lib]$ cat 8.c
main()
{
int n=0;
printf("before printf,n=%d\n",n);
printf("%800d%n\n",1,&n);
printf("after printf,n=%d\n",n);
}
[bkbll@mobile fmtxp_lib]$ cc 8.c ; ./a.out
before printf,n=0
1
after printf,n=800
weizzil_chinaun 该用户已被删除
4 [报告]
发表于 2004-11-09 18:28 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2004-11-09 18:42 |只看该作者

关于printf

$参数是做什么的,我正在学习这一部分呀!

论坛徽章:
0
6 [报告]
发表于 2004-11-09 19:01 |只看该作者

关于printf

参数选择:

  1. #include <stdio.h>;

  2. int
  3. main ()
  4. {
  5.         printf ("%4$s %6$s\n", 1, 2, 3, "hello", 5 , "world", 7);
  6. }
复制代码

[zxl@PPC zxl]$ ./a.out
hello world

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2004-11-09 19:12 |只看该作者

关于printf

^_^,明白了,多谢。

论坛徽章:
0
8 [报告]
发表于 2004-11-09 19:58 |只看该作者

关于printf

哦,好东西!之前还没有用过!

论坛徽章:
0
9 [报告]
发表于 2004-11-09 21:06 |只看该作者

关于printf

多谢版主了,问了好多天了,终于知道答案了,bk那个例子让我误会了,以为可以将$前的参数变成输出的常量呢

论坛徽章:
0
10 [报告]
发表于 2004-11-09 21:06 |只看该作者

关于printf

有了解一个新知识;
thanks
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP