• <bdo id='qbk215cy'></bdo><ul id='9oemkcfs'></ul>

    <small id='s3nop2ik'></small><noframes id='awtokkjj'>

    1. <legend id='jrb28a12'><style id='ld04rlsh'><dir id='9gdflslc'><q id='xsduqplk'></q></dir></style></legend>

        <i id='498l56q9'><tr id='reehgh9b'><dt id='2ibezz02'><q id='9c3lizkx'><span id='soso6ijb'><b id='r72gxk8f'><form id='zrgn06gb'><ins id='36kgkcsa'></ins><ul id='h4hj697o'></ul><sub id='7p7xh08m'></sub></form><legend id='6n9xyg0h'></legend><bdo id='1ny7zmkf'><pre id='wbfm8j9n'><center id='x7muqqgg'></center></pre></bdo></b><th id='fge1fibt'></th></span></q></dt></tr></i><div id='gr0oa1gb'><tfoot id='5ko7u63s'></tfoot><dl id='d7tmz9st'><fieldset id='51smb0tm'></fieldset></dl></div>
        <tfoot id='fb4nfbp4'></tfoot>
      1. 欢迎来到入门教程网!

        Linux/apache

        当前位置:主页 > 服务器 > Linux/apache >

        linux命令注入过滤 linux 代码注入

        来源:本站原创|时间:2023-04-02|栏目:Linux/apache|点击:

        linux命令col -b

        col命令是Linux下的一个文档编辑命令,其英文全称是colation,翻译过来就是过滤,col命令主要有一个功能,能够在许多说明文件里有效地过滤控制字符。

        说明:col命令就相当于一个标准输入文本过滤器,它会从标注输入设备内读取文本内容,并且将内容显示到标注输出设备。

        在许多Unix说明文件里,都有RLF控制字符。当我们运用shell特殊字符或,把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。

        语法

        col [-bfx][-l缓冲区列数]

        参数

        -b:过滤掉所有的控制字符,包括RLF和HRLF。

        -f:滤除RLF字符,但允许将HRLF字符呈现出来。

        -x:以多个空格字符来表示跳格字符。

        -l缓冲区列数:预设的内存缓冲区有128列,您可以自行指定缓冲区的大小。

        Linux命令之筛选条件

        grep (过滤)

        过滤需要的内容,

        -v 需要排除的内容,

        -i不分辨大小写,

        -n匹配的内容在其行首显示行号,

        -A (after)显示匹配字符串及其后n行,

        -B (before)显示匹配字符串及其前n行,

        -C(context)显示匹配字符串

        下边是想凑字数的啦啦

        如何通过linux命令根据某一列值唯一来过滤

        你可以这样做:

        (1)为Server的那些使用者建立单独的账户,例如:user01、user02....等等(可以给每个人建立一个单独的账户。当然,为了使系统中的账户不至于太多而导致难以管理,也可以按照他们所在的部门、项目组(或工作组)、或是其它分类方式去建立账户)。

        (2)对每个账户下的$HOME/.profile文件或者是$HOME/.cshrc文件(视不同用户的SHELL来决定,例如:bsh和sh就是.profile,csh就是.cshrc),用

        chown root:root ... (例如: chown root:root .cshrc)

        命令将它们改成root用户及属组所有,只有root用户才可以更改它们。

        (3)在每个用户的$HOME/.profile或是$HOME/.cshrc等shell环境配置文件中,将你认为是危险的命令做以下的转换:

        alias 命令名='echo 管理员不运行执行该命令'

        例如: alias format='echo 管理员不运行执行该命令'

        这样这些用户就无法执行你限定的命令,执行之后都显示“管理员不运行执行该命令”。

        如果觉得改.profile或是.cshrc文件不保险,还可以在每个用户的$HOME下建立.login文件,也用上述的方法将它改成root用户属组的,在里面加入

        alias 命令名='echo 管理员不运行执行该命令'

        效果更好。

        ----看到了你的问题追加。我觉得要是大家都只能使用root账户,那么这个系统的规划是否合理?假如一定都要使用root账户的话,对于每个用户在键入命令的过程中,你很难去捕获他们都正在敲入什么命令。只有等他们在命令行上都输入完了,回车确认之后才可能去发现他们执行的进程。假如真有这样的一个监控程序在你的系统中,就算是监控到了,那么那些进程已经开始运行了,对很多人来说已经是无法收拾了,只有及时的杀掉那些进程了。建议你把敏感的命令给rename了算了,例如mv format frmt

        Linux常用指令---grep(搜索过滤)(转)

        Linux常用指令---grep(搜索过滤) (转)

        Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

        grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。

        grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

        1.命令格式:

        grep [option] pattern file

        2.命令功能:

        用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。

        3.命令参数:

        -a   --text   #不要忽略二进制的数据。   

        -A显示行数   --after-context=显示行数   #除了显示符合范本样式的那一列之外,并显示该行之后的内容。   

        -b   --byte-offset   #在显示符合样式的那一行之前,标示出该行第一个字符的编号。   

        -B显示行数   --before-context=显示行数   #除了显示符合样式的那一行之外,并显示该行之前的内容。   

        -c    --count   #计算符合样式的列数。   

        -C显示行数    --context=显示行数或-显示行数   #除了显示符合样式的那一行之外,并显示该行之前后的内容。   

        -d 动作      --directories=动作   #当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。   

        -e范本样式  --regexp=范本样式   #指定字符串做为查找文件内容的样式。   

        -E      --extended-regexp   #将样式为延伸的普通表示法来使用。   

        -f规则文件  --file=规则文件   #指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。   

        -F   --fixed-regexp   #将样式视为固定字符串的列表。   

        -G   --basic-regexp   #将样式视为普通的表示法来使用。   

        -h   --no-filename   #在显示符合样式的那一行之前,不标示该行所属的文件名称。   

        -H   --with-filename   #在显示符合样式的那一行之前,表示该行所属的文件名称。   

        -i    --ignore-case   #忽略字符大小写的差别。   

        -l    --file-with-matches   #列出文件内容符合指定的样式的文件名称。   

        -L   --files-without-match   #列出文件内容不符合指定的样式的文件名称。   

        -n   --line-number   #在显示符合样式的那一行之前,标示出该行的列数编号。   

        -q   --quiet或--silent   #不显示任何信息。   

        -r   --recursive   #此参数的效果和指定“-d recurse”参数相同。   

        -s   --no-messages   #不显示错误信息。   

        -v   --revert-match   #显示不包含匹配文本的所有行。   

        -V   --version   #显示版本信息。   

        -w   --word-regexp   #只显示全字符合的列。   

        -x    --line-regexp   #只显示全列符合的列。   

        -y   #此参数的效果和指定“-i”参数相同。

        4.规则表达式:

        grep的规则表达式:

        ^  #锚定行的开始 如:'^grep'匹配所有以grep开头的行。    

        $  #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。    

        .  #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。    

        *  #匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。    

        .*   #一起用代表任意字符。   

        []   #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。    

        [^]  #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。    

        \(..\)  #标记匹配字符,如'\(love\)',love被标记为1。    

        \      #锚定单词的开始,如:'\

        \      #锚定单词的结束,如'grep\'匹配包含以grep结尾的单词的行。    

        x\{m\}  #重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。    

        x\{m,\}  #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。    

        x\{m,n\}  #重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。   

        \w    #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。   

        \W    #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。   

        \b    #单词锁定符,如: '\bgrep\b'只匹配grep。  

        POSIX字符:

        为了在不同国家的字符编码中保持一至,POSIX(The Portable Operating System Interface)增加了特殊的字符类,如[:alnum:]是[A-Za-z0-9]的另一个写法。要把它们放到[]号内才能成为正则表达式,如[A- Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都支持POSIX的字符类。

        [:alnum:]    #文字数字字符   

        [:alpha:]    #文字字符   

        [:digit:]    #数字字符   

        [:graph:]    #非空字符(非空格、控制字符)   

        [:lower:]    #小写字符   

        [:cntrl:]    #控制字符   

        [:print:]    #非空字符(包括空格)   

        [:punct:]    #标点符号   

        [:space:]    #所有空白字符(新行,空格,制表符)   

        [:upper:]    #大写字符   

        [:xdigit:]   #十六进制数字(0-9,a-f,A-F)  

        5.使用实例:

        实例1:查找指定进程

        命令:

        ps -ef|grep svn

        输出:

        [[email protected]~]# ps -ef|grep svn

        root 4943   1      0  Dec05 ?   00:00:00 svnserve -d -r /opt/svndata/grape/

        root 16867 16838  0 19:53 pts/0    00:00:00 grep svn

        [[email protected]~]#

        说明:

        第一条记录是查找出的进程;第二条结果是grep进程本身,并非真正要找的进程。

        实例2:查找指定进程个数

        命令:

        ps -ef|grep svn -c

        ps -ef|grep -c svn

        输出:

        [[email protected]~]# ps -ef|grep svn -c

        2

        [[email protected]~]# ps -ef|grep -c svn 

        2

        [[email protected]~]#

        说明:

        实例3:从文件中读取关键词进行搜索

        命令:

        cat test.txt | grep -f test2.txt

        输出:

        [[email protected]]# cat test.txt 

        hnlinux

        peida点吸烟blogs点抗

        ubuntu

        ubuntu linux

        redhat

        Redhat

        linuxmint

        [[email protected]]# cat test2.txt 

        linux

        Redhat

        [[email protected]]# cat test.txt | grep -f test2.txt

        hnlinux

        ubuntu linux

        Redhat

        linuxmint

        [[email protected]]#

        说明:

        输出test.txt文件中含有从test2.txt文件中读取出的关键词的内容行

        实例3:从文件中读取关键词进行搜索 且显示行号

        命令:

        cat test.txt | grep -nf test2.txt

        输出:

        [[email protected]]# cat test.txt 

        hnlinux

        peida点吸烟blogs点抗

        ubuntu

        ubuntu linux

        redhat

        Redhat

        linuxmint

        [[email protected]]# cat test2.txt 

        linux

        Redhat

        [[email protected]]# cat test.txt | grep -nf test2.txt

        1:hnlinux

        4:ubuntu linux

        6:Redhat

        7:linuxmint

        [[email protected]]#

        说明:

        输出test.txt文件中含有从test2.txt文件中读取出的关键词的内容行,并显示每一行的行号

        实例5:从文件中查找关键词

        命令:

        grep 'linux' test.txt

        输出:

        [[email protected]]# grep 'linux' test.txt 

        hnlinux

        ubuntu linux

        linuxmint

        [[email protected]]# grep -n 'linux' test.txt 

        1:hnlinux

        4:ubuntu linux

        7:linuxmint

        [[email protected]]#

        说明:

        实例6:从多个文件中查找关键词

        命令:

        grep 'linux' test.txt test2.txt

        输出:

        [[email protected]]# grep -n 'linux' test.txt test2.txt 

        test.txt:1:hnlinux

        test.txt:4:ubuntu linux

        test.txt:7:linuxmint

        test2.txt:1:linux

        [[email protected]]# grep 'linux' test.txt test2.txt 

        test.txt:hnlinux

        test.txt:ubuntu linux

        test.txt:linuxmint

        test2.txt:linux

        [[email protected]]#

        说明:

        多文件时,输出查询到的信息内容行时,会把文件的命名在行最前面输出并且加上":"作为标示符

        实例7:grep不显示本身进程

        命令:

        ps aux|grep \[s]sh

        ps aux | grep ssh | grep -v "grep"

        输出:

        [[email protected]]# ps aux|grep ssh

        root   2720  0.0  0.0  62656  1212 ?      Ss   Nov02   0:00 /usr/sbin/sshd

        root  16834  0.0  0.0  88088  3288 ?      Ss   19:53   0:00 sshd:[email protected]/0 

        root  16901  0.0  0.0  61180   764 pts/0  S+   20:31   0:00 grep ssh

        [[email protected]]# ps aux|grep \[s]sh]

        [[email protected]]# ps aux|grep \[s]sh

        root   2720  0.0  0.0  62656  1212 ?      Ss   Nov02   0:00 /usr/sbin/sshd

        root  16834  0.0  0.0  88088  3288 ?      Ss   19:53   0:00 sshd:[email protected]/0 

        [[email protected]]# ps aux | grep ssh | grep -v "grep"

        root   2720  0.0  0.0  62656  1212 ?      Ss   Nov02   0:00 /usr/sbin/sshd

        root  16834  0.0  0.0  88088  3288 ?      Ss   19:53   0:00 sshd:[email protected]/0

        说明:

        实例8:找出已u开头的行内容

        命令:

        cat test.txt |grep ^u

        输出:

        [[email protected]]# cat test.txt |grep ^u

        ubuntu

        ubuntu linux

        [[email protected]]#

        说明:

        实例9:输出非u开头的行内容

        命令:

        cat test.txt |grep ^[^u]

        输出:

        [[email protected]]# cat test.txt |grep ^[^u]

        hnlinux

        peida点吸烟blogs点抗

        redhat

        Redhat

        linuxmint

        [[email protected]]#

        说明:

        实例10:输出以hat结尾的行内容

        命令:

        cat test.txt |grep hat$

        输出:

        [[email protected]]# cat test.txt |grep hat$

        redhat

        Redhat

        [[email protected]]#

        说明:

        实例11:输出ip地址

        命令:

             ifconfig eth0|grep -E "([0-9]{1,3}\.){3}[0-9]"

        输出:

        [[email protected]]# ifconfig eth0|grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"

                  inet addr:192.168.120.204  Bcast:192.168.120.255  Mask:255.255.255.0

        [[email protected]]# ifconfig eth0|grep -E "([0-9]{1,3}\.){3}[0-9]"

                  inet addr:192.168.120.204  Bcast:192.168.120.255  Mask:255.255.255.0

        [[email protected]]#

        说明:

        实例12:显示包含ed或者at字符的内容行

        命令:

        cat test.txt |grep -E "ed|at"

        输出:

        [[email protected]]# cat test.txt |grep -E "peida|com"

        peida点吸烟blogs点抗

        [[email protected]]# cat test.txt |grep -E "ed|at"

        redhat

        Redhat

        [[email protected]]#

        说明:

        实例13:显示当前目录下面以.txt 结尾的文件中的所有包含每个字符串至少有7个连续小写字符的字符串的行

        命令:

        grep '[a-z]\{7\}' *.txt

        输出:

        [[email protected]]# grep '[a-z]\{7\}' *.txt

        test.txt:hnlinux

        test.txt:peida点吸烟blogs点抗

        test.txt:linuxmint

        [[email protected]]#

        实例14:日志文件过大,不好查看,我们要从中查看自己想要的内容,或者得到同一类数据,比如说没有404日志信息的

        命令:

        grep '.' access1.log|grep -Ev '404'  access2.log

        grep '.' access1.log|grep -Ev '(404|/photo/|/css/)'  access2.log

        grep '.' access1.log|grep -E '404'  access2.log

        输出:

        [[email protected]]# grep “.”access1.log|grep -Ev “404”  access2.log

        说明:上面3句命令前面两句是在当前目录下对access1.log文件进行查找,找到那些不包含404的行,把它们放到access2.log中,后面去掉’v’,即是把有404的行放入access2.log

          <small id='4lwg9fr5'></small><noframes id='jbbfkkwq'>

        • <tfoot id='y5hmu1fg'></tfoot>
            <bdo id='q77x4lyt'></bdo><ul id='hu99peeh'></ul>
          • <i id='rp6carya'><tr id='82s9kpwr'><dt id='3ttpvda8'><q id='40n9ikvr'><span id='77c20p6e'><b id='93ze3kxw'><form id='p5kln0wb'><ins id='b0ziw0lf'></ins><ul id='fjyuvlck'></ul><sub id='no5j789y'></sub></form><legend id='v693rs1e'></legend><bdo id='ltaak64h'><pre id='kxw7fi1a'><center id='893d5131'></center></pre></bdo></b><th id='e1v9yive'></th></span></q></dt></tr></i><div id='rng1k2lr'><tfoot id='o6xgjyzk'></tfoot><dl id='k5dpshby'><fieldset id='mn3cx7x2'></fieldset></dl></div>

              <legend id='ufqotgpo'><style id='pf21wxy0'><dir id='6p3qni44'><q id='wedx5ywe'></q></dir></style></legend>

                    <tbody id='cm3u5cx7'></tbody>

                  上一篇:linux中jobs命令 shell jobs命令

                  栏    目:Linux/apache

                  下一篇:linux文件命令重命名 linux重命名文件名命令

                  本文标题:linux命令注入过滤 linux 代码注入

                  本文地址:https://www.xiuzhanwang.com/a1/Linux_apache/17206.html

                  网页制作CMS教程网络编程软件编程脚本语言数据库服务器

                  如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

                  联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

                  Copyright © 2002-2020 脚本教程网 版权所有

                  <small id='scjm164x'></small><noframes id='vb6ryi8e'>

                  <legend id='hhv2l0ny'><style id='4a0oebv6'><dir id='c0283qur'><q id='5lhgginx'></q></dir></style></legend>

                  1. <i id='m710qlrp'><tr id='ac2s0v9d'><dt id='9i94pwqx'><q id='t5aog01j'><span id='3i9dynrm'><b id='sepfnm0a'><form id='sa8iz6o0'><ins id='8v65b8r2'></ins><ul id='btbft6f2'></ul><sub id='skrhg0vl'></sub></form><legend id='czasloat'></legend><bdo id='dpo6pa5f'><pre id='hn3mwiea'><center id='r89whgxh'></center></pre></bdo></b><th id='yw5ia8tr'></th></span></q></dt></tr></i><div id='o0d74ixb'><tfoot id='ugufg78i'></tfoot><dl id='okt368sa'><fieldset id='0csqji8z'></fieldset></dl></div>

                    • <bdo id='4ovzlfw6'></bdo><ul id='q48l6zdx'></ul>
                    1. <tfoot id='w9rzelti'></tfoot>