码迷,mamicode.com
首页 > 其他好文 > 详细

pwnable.kr 第一题 FD

时间:2020-01-10 20:44:23      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:密码   退出   标准输入   ==   c代码   转换   lag   遇到   ali   

题目地址http://pwnable.kr/play.php

第一题 FD

环境是kali系统

首先打开题目

技术图片

按提示连接ssh 密码为guest

技术图片

查看文件内容发现存在flag文件,但是没有读权限

技术图片

查看fd.c代码文件

技术图片

复习出现的函数

int argc 要输入的参数

char* argv[]表示的是包括文件名在内的参数,文件名是argv[0]

char* envp[]是环境变量,比如path=c:\windows之类的东西。它没有一个整数来为它记数是通过最后一个evnp[i]==NULL来表示结尾的

atoi();atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(‘\0‘)才结束转换,并将结果返回。

read(a,b,c);标准输入输出函数 a有三种类型 为0时标准输入读取 为1时标准输出读取 为2时错误输出读取,b为变量 c为多少字节

例: read(0,buf,32)即为输入32字节到buf‘中

strcmp(a,b) 比较a b的值 若a==b 返回0 a>b 返回正数 a<b 返回负数

目标是实现:system("/bin/cat flag")

首先argc不能<2 不然直接退出了

分析代码 首先要满足 strcmp("LETMEWIN\n",buf)==0;

fd=0 然后输入LETMEWIN\n

即 argv[1]==0x1234=4660

技术图片

得到flag

技术图片

pwnable.kr 第一题 FD

标签:密码   退出   标准输入   ==   c代码   转换   lag   遇到   ali   

原文地址:https://www.cnblogs.com/mouzaisi/p/12177817.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!