精华内容
下载资源
问答
  • 例子:   find ./ -type f -name "*.c"|xargs grep "http_loop"

    例子:

     

    find ./ -type f -name "*.c"|xargs grep "http_loop"

    展开全文
  • 预期解 2 --- 包含临时文件linux命令考察: 参考自:https://www.gem-love.com/ctf/2283.html 参考:https://www.gem-love.com/ctf/2283.html 一、自己做: 到时候,自己再开环境再做一遍。 先看了WP。。弄到了...

    参考自:https://www.gem-love.com/ctf/2283.html

    参考:https://www.gem-love.com/ctf/2283.html

    一、自己做:

    到时候,自己再开环境再做一遍。

    先看了WP。。弄到了提示:
    phpinfo()看了,
    diabled_functions,open_basedir都没有什么东西,

    <?php
    error_reporting(0);
    
    //give you all information you want
    if (isset($_GET['all_info_i_want'])) {
        phpinfo();
    }
    
    if (isset($_GET['file'])) {
        $file = "/var/www/html/" . $_GET['file'];
        //really baby include
        include($file);
    }
    
    ?>
    

    拼接../../../../../flag。是假的falg。

    flag{this_is_fake_flag_realflag_is_in_/etc_find_it_by_yourself} 
    

    /etc下面去找,这就需要扫描目录了,但是题目给的hint又是不用扫目录,

    那么既然这样包含日志看看,
    包含了, 没有反应,,

    all_info_u_want.php?file=../../../../../var/log/apache2/access.log
    

    不对,,,

    二、学到的:

    三、学习WP

    这个题的 session.upload_progress.enalbed是关闭的,如果是开启的化,也可以用条件竞争session。

    1. 预期解 1 ---- 包含日志文件

    。。这个要抓包,,看htpp返回头中的header得知是ngix。
    然后?file=../../../../../var/log/nginx/access.log
    然后就可以拿啥了。试试看:
    但是url传参会 进行编码,然后就不行,
    在这里插入图片描述
    然后可以在User-Agent:这个传,在后面添加就好。

    在这里插入图片描述

    2. 预期解 2 — 包含临时文件,

    常规的包含临时文件的方法有2:

    1. 条件竞争,不断上传,然后包含。
    2. 利用 PHP7 的 segment fault

    但是本题都不适用,怎么包含临时文件呢???

    在这里插入图片描述

    PHP会在脚本执行结束后删掉临时文件,而 段错误方法就是让PHP执行突然中止,这样临时文件就保留了。

    既然 " PHP会在 脚本执行结束后删掉临时文件 ", 不让PHP的脚本执行结束,这样不就行了嘛?,只要自身包含自身就会进入死循环中。 死循环 要么被用户打断,要么被nginx超时掉,PHP 执行没有结束,临时文件不就 得以保存了吗?

    这个自己包含自己,总是进入自己哪里就是死循环了。我们访问all_info_u_want.php,然后include 又是all_info_u_want.php,然后就进入了死循环了。

    另外,可以通过 phpinfo() 来查看 临时文件的位置,带上 all_info_i_awnt 参数打开 phpinfo ,然后开始自身包含,写个上传表单:

    <html>
    <form action="http://5e66626f-8703-41ee-ae70-0a6446a94440.challenge.ctf.show:8080/all_info_u_want.php?file=all_info_u_want.php&all_info_i_want" method="post" enctype="multipart/form-data">
    	<input type="file" name="filename">
    	<input type="submit" value= "submit">
    </form>
    </body>
    </html>
    

    手动停下就好了。

    /tmp/phphdpIOc
    

    在这里插入图片描述不好找flag啊。
    在这里插入图片描述

    linux命令考察:

    文件名不是flag。那就 找文件的内容。:

    find /etc -name "*" | xargs grep "flag{"
    

    就找到了flag了

    展开全文
  • linux下的find文件查找命令与grep文件内容查找命令 linux下的find文件查找命令与grep文件内容查找命令  在使用linux时,经常需要进行文件查找。其中查找命令主要有find和grep。两个命令是有区的。 区别:(1)find...

    linux下的find文件查找命令与grep文件内容查找命令
    linux下的find文件查找命令与grep文件内容查找命令
      在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。

    区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。

               (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。
    

    一.find命令

    基本格式:find path expression

    1.按照文件名查找

    (1)find / -name httpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找
        (2)find /etc -name httpd.conf  #在/etc目录下文件httpd.conf
        (3)find /etc -name ‘srm’  #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
        (4)find . -name ‘srm*’   #表示当前目录下查找文件名开头是字符串‘srm’的文件

    2.按照文件特征查找

    (1)find / -amin -10   # 查找在系统中最后10分钟访问的文件(access time)
        (2)find / -atime -2   # 查找在系统中最后48小时访问的文件
        (3)find / -empty   # 查找在系统中为空的文件或者文件夹
        (4)find / -group cat   # 查找在系统中属于 group为cat的文件
        (5)find / -mmin -5   # 查找在系统中最后5分钟里修改过的文件(modify time)
        (6)find / -mtime -1   #查找在系统中最后24小时里修改过的文件
        (7)find / -user fred   #查找在系统中属于fred这个用户的文件
        (8)find / -size +10000c  #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
        (9)find / -size -1000k   #查找出小于1000KB的文件

    3.使用混合查找方式查找文件

    参数有: !,-and(-a),-or(-o)。

    (1)find /tmp -size +10000c -and -mtime +2   #在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件
       (2)find / -user fred -or -user george   #在/目录下查找用户是fred或者george的文件文件
       (3)find /tmp ! -user panda  #在/tmp目录中查找所有不属于panda用户的文件

    二、grep命令

    基本格式:find expression

    1.主要参数

    [options]主要参数:
        -c:只输出匹配行的计数。
        -i:不区分大小写
        -h:查询多文件时不显示文件名。
        -l:查询多文件时只输出包含匹配字符的文件名。
        -n:显示匹配行及行号。
        -s:不显示不存在或无匹配文本的错误信息。
        -v:显示不包含匹配文本的所有行。

    pattern正则表达式主要参数:
        \: 忽略正则表达式中特殊字符的原有含义。
        ^:匹配正则表达式的开始行。
        $: 匹配正则表达式的结束行。
        <:从匹配正则表达 式的行开始。
        >:到匹配正则表达式的行结束。
        [ ]:单个字符,如[A]即A符合要求 。
        [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
        .:所有的单个字符。
        * :有字符,长度可以为0。

    2.实例

    (1)grep ‘test’ d*  #显示所有以d开头的文件中包含 test的行
      (2)grep ‘test’ aa bb cc    #显示在aa,bb,cc文件中包含test的行
      (3)grep ‘[a-z]{5}’ aa   #显示所有包含每行字符串至少有5个连续小写字符的字符串的行
      (4)grep magic /usr/src  #显示/usr/src目录下的文件(不含子目录)包含magic的行
      (5)grep -r magic /usr/src  #显示/usr/src目录下的文件(包含子目录)包含magic的行

    (6)grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

    详细使用参见:http://www.cnblogs.com/end/archive/2012/02/21/2360965.html

    展开全文
  • Linux查找文件的相关命令说明常用命令简要中文说明程序所在目录more分页显示一个文件或任何输出结果/binless分页显示一个文件并且可以回头/usr/binwhereis寻找文件工具/usr/binfind寻找文件工具/usr/binlocate寻找...

    Linux查找文件的相关命令说明

    常用命令

    简要中文说明

    程序所在目录

    more

    分页显示一个文件或任何输出结果

    /bin

    less

    分页显示一个文件并且可以回头

    /usr/bin

    whereis

    寻找文件工具

    /usr/bin

    find

    寻找文件工具

    /usr/bin

    locate

    寻找文件工具

    /usr/bin

    grep

    寻找某字串内容工具

    /bin

    env

    查看环境设置

    /usr/bin

    more [文件名]

    分页显示一个文件或任何输出结果

    其实more不是用来寻找文件的,但是一般人却十有八九是在找文件时把它派上用场。

    因为 more 主要的作用是把输出结果显示在屏幕上,一页停止一次,所以例如当我们用 ls 命令去找一个 x字母开头的文件,而下达了 ls x* 却仍然列出太多文件,一个屏幕看不完时,就可以配合管道符号和 more 命令:

    ls x* | more

    它会一屏停止一下,等待您按空白键才继续往上卷。于是 more 俨然犹如 DOS 的 DIR 命令 /P 选项的地位了。而 more 当主角的时候,是用做一页一次显示文章,例如我们想要看 /etc 里面的 XF86Config 文件,可以下如下命令:

    more /etc/XF86Config

    这样,我们就可以不断按空白键把这个文件慢慢看完。但是,因为more 先天的设计,如果您看完了这页,想要回头看上一页,很抱歉,是不行的,您必须从头再来!于是大家在使用中就干脆摒弃这个命令,而代之以 vi 或者pico, joe等文书编辑器来看文字文件了!

    pico /etc/XF86Config

    到最后,很少人再用more了。所以more经常配合 ls在找文件的场合出现,每天都可以上场十几次。

    所以,相信把失去主要舞台的 more归类为找寻文件的相关命令虽不合法,但合情合理也合于现状。

    练习:

    请您用 more 去看一个文字文件,与用 pico 去看一个文字文件相比较,哪一个比较方便?

    less [文件名]

    分页显示一个文件并且可以回头

    less命令很好笑,取名时就故意与more 命令打对台,你叫“更多”,我就叫“更少”,就好像你叫黑人牙膏我就叫白人牙膏一样。事实上与什么“更多”、“更少”都没有关系。它最主要只是为了改进一点:more 不能回头看的问题!

    less 的优点就是可以随时回头,最简单的用【PgUp】键就可以向上翻。

    可是依我们的孤陋之见,还是用文书编辑器去阅读文件就好了嘛,更何况 less 本身还有高达 42 个选项,何必那么麻烦!

    所以,为了您好,选项我们也不介绍了。这个命令目前只在 Linux 系统可以使用,其他 UNIX 家族尚无。

    练习:

    (1)请您用 less 去看一个文字文件,与用 pico 去看一个文字文件相比,哪一个比较方便?

    (2)less命令能像more命令一样配合管道符号,让ls的列示文件能够回头翻看吗?

    whereis 文件名

    寻找文件工具

    whereis 是一个小巧好用的文件寻找工具,它专门用来寻找可执行的程序、原始程序和使用手册。

    例如执行命令:

    whereis bzip2

    它就会告诉您,bzip2 放在 /usr/bin 。通常,如果您确定某个东西是程序,而用 whereis 找不到的话,那就表示本系统没有安装该程序了,例如:

    whereis cjoe

    表示这套系统中没有装 cjoe,否则应该会找到才对。

    练习:

    (1)找找您的系统上有没有xpaint这个程序?因为这个程序在 KDE 和 GNOME 的默认主菜单上都没有列出来,但并不表示一定没有。

    (2)能用 whereis 命令去找到XF86Config设置文件在哪里吗?为什么?

    find [寻找的目录] [表示式]

    寻找文件工具

    find 是高级的寻找文件工具,可不像 whereis 那么“阳春白雪”。但也因为它太高级了,复杂到很多人用不熟练。我们尽量只举简单的例子。

    最简单的格式如下:

    find / -name my* -print

    这个意思是请它从最底层的主目录开始找,找出文件名是 my 开头的文件,把它显示出来。-print 选项是显示,您可把它当做固定要加上的项目。

    但它还可以用时间来找,例如:

    find /usr -atime 3 –print

    会从 /usr 目录开始往下找,找最近3天之内存取过的文件。

    find /usr -ctime 5 –print

    会从 /usr 目录开始往下找,找最近5天之内修改过的文件。

    find /doc -user jacky -name 'j*' –print

    会从 /doc 目录开始往下找,找jacky 的、文件名开头是 j的文件。

    find /doc \( -name 'ja*' -o- -name 'ma*' \) –print

    会从 /doc 目录开始往下找,找寻文件名是 ja 开头或者 ma开头的文件。

    find /doc -name '*bak' -exec rm {} \;

    会从 /doc 目录开始往下找,找到凡是文件名结尾为 bak的文件,把它删除掉。-exec 选项是执行的意思,rm 是删除命令,{ } 表示文件名,“\;”是规定的命令结尾。

    练习:

    用 find 命令能否找出XF86Config这个文件在哪里?

    locate 文件名

    寻找文件工具

    locate 也是一个寻找文件的工具,但是它不像 whereis 只能找程序文件等几种文件,也不像find那么复杂,可以算是“中庸之道”!

    中庸之道,往往就是大部分人最佳的选择,如图:

    whereis找不到的文件,find要一大串命令,还花了很久的时间才找到的XF86Config设置文件,而用locate一下子就简单找到了!

    练习:

    (1)用 locate 找找有没有一个inittab文件?

    (2)用 locate 找找有哪些 .pcf 字形文件。如果找不到的话,找找看已经压缩过的字形文件 .pcf.Z 或者 .pcf.gz。

    grep [-选项] [字串] [文件名]

    寻找某字串内容工具

    有些时候,我们存储文件时随手乱取了一个文件名,事后自己都忘了那个文件名叫什么,连开头第一个字母都想不起来。那么,如果您还记得该文件一点特殊的词语,应该可以用 grep 命令找到。

    例如,我们想在一个目录的200个文件里面,找出哪一个文件提到“排版”这个词语:

    grep 排版 *.txt

    找到了两个文件有此字样。然后您再自行调出看看到底哪一篇才是您所要的即可。寻找时注意尽量寻找特殊词语,如果您输入“然后”、“这样”、“不是”、“电脑”……这类太普遍的词语,可能几百篇文章中都有,那就失去了用 grep 找文件的意义了。

    因为例子中第二篇文章出现了两次,所以列出了3行,其实只有两个文件符合。如果您想要让它凡是符合条件的只出现一次的话,加上 -l 选项就可以了,如图:

    其他常用的选项还有:

    -n 同时列出该词语出现在文章的第几行。

    -c 计算一下该字串出现的次数。

    -i 比对的时候,不计较大小写的不同。

    练习:

    当我们要为系统增加一个用户时,往往担心添加一个已经存在的用户名字。如果用 grep 命令,可不可以避免这个问题?如何避免?

    env

    查看环境设置

    env 命令可以设置很多环境变量,例如终端机的类型、使用的浏览器、用户主目录(Home Directory)的所在等等。

    但是我们现在把焦点集中在其中一项:PATH环境变量。

    因为 PATH 这个环境变量掌管了您下达命令的时候,它会到下面几个目录去找您命令的程序:

    /usr/bin

    /sbin

    /usr/sbin

    /usr/X11R6/bin

    /root/bin

    那么您用 env 命令,让它把所有的环境变量列出来的时候,就可以看到有一行PATH 设置,把上述几个目录用分号分开,然后串成一串。这就是它所谓寻找命令的“路径”。DOS 系统也有一个同名而且意义非常相似的路径设置。如图:

    如果您想在它查找命令的路径上增加一个 /usr/bin/he,而把 /root/bin 去掉,那么您可以重新下达:

    env PATH=/usr/bin;/sbin;/usr/sbin;/usr/X11R6/bin;/usr/bin/he

    当然env 其他的变量也可以这样改变。但是因为涉及面太广,我们就只把焦点集中在改变查找路径上,其他暂时不谈。

    展开全文
  • Linux查找文件内容的常用命令方法。 从文件内容查找匹配指定字符串的行:$ grep "被查找的字符串" 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件grep "thermcontact" */*.in从文件内容查找与...
  • 在我们日常跨系统开发和服务部署上,Linux find文件查找命令与grep文件内容查找命令是经常用的,现整理了一下这两种命令的常用方法和参数设置,与大家共享!(也不是最全的,如有补充和建议,欢迎留言).  在使用...
  • 04-25 16:37:27来源:亿速云阅读:134作者:小新今天小编给大家分享的是linux查找文件命令find的用法是什么,相信很多人都不太了解,为了让大家更加了解linux查找文件命令find的用法,所以给大家总结了以下内容,...
  • linux 查找文件命令

    千次阅读 2021-01-26 15:18:00
    1、最强大的搜索命令:find 查找各种文件的命令 2、在文件资料中查找文件:locate 3、搜索命令所在的目录及别名信息:which 4、搜索命令所在的目录及帮助文档路径:whereis5、在文件中搜寻字符串匹配的行并输出:...
  • -b 只查找二进制文件 -m 只查找帮助文件 -s 只查找源代码 -u 排除指定类型文件 -f 只显示文件名 -B 在指定目录下查找二进制文件 -M 在指定目录下查找帮助文件 -S 在指定目录下查找源代码 locate 在文件...
  • 在使用linux时,经常需要进行文件查找。其中查找命令主要有find和grep。两个命令是有区的。  区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等...
  • Linux查找文件内容的常用命令方法。 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名 例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件 grep "thermcontact" */*.in ...
  • 1.查找文件中的关键字  grep "查找内容" -nr * 2.查找文件  find . -name "文件名.*" -type f
  • 对于linux这样“一切皆文件”的操作系统来说更不例外,大家应该都能很轻松使用windows下的文件查找功能,但是对linux这一功能可能并不是很熟悉,其实想玩linux的你更要牢牢掌握这个命令,因为linux不像windows那样有...
  • linux下的find文件查找命令与grep文件内容查找命令linux下的find文件查找命令与grep文件内容查找命令在使用linux时,经常需要进行文件查找。其中查找命令主要有find 和grep。两个命令是有区的。区别:(1)find命令...
  • linux查找文件命令

    万次阅读 2019-03-21 10:54:03
    在使用linux时,经常需要进行文件查找。其中查找命令主要有find和grep。两个命令是有区的。  区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等...
  • linux下的find文件查找命令与grep文件内容查找命令  在使用linux时,经常需要进行文件查找。其中查找命令主要有find和grep。两个命令是有区的。  区别:(1)find命令是根据文件的属性进行查找,如文件名,文件...
  • ubuntu系统中文件内容查找命令总结linux操作系统 电脑资料 本文章总结了ubuntu系统中文件内容查找命令如有 findlocatewhichgrep等文件内容查找命令的介绍有需要的同学可参考本文章 一.以文件名查找 1. find ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,881
精华内容 1,552
关键字:

linux查找文件内容命令

linux 订阅