額,命令只是基本操作,不是固定的。比如需要用cd命令打開文件夾,tar解壓文件,cp復制文件到某個目錄等等,這些不是固定的啊!
創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站制作、成都網(wǎng)站建設與策劃設計,昌邑網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設10年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:昌邑等地區(qū)。昌邑做網(wǎng)站價格咨詢:18980820575
即 Command Injection。是指通過提交惡意構造的參數(shù)破壞命令語句結構,從而達到執(zhí)行惡意命令的目的。
在Web應用中,有時候會用到一些命令執(zhí)行的函數(shù),如php中system、exec、shell_exec等,當對用戶輸入的命令沒有進行限制或者過濾不嚴導致用戶可以執(zhí)行任意命令時,就會造成命令執(zhí)行漏洞。
黑客將構造好的命令發(fā)送給web服務器,服務器根據(jù)拼接命令執(zhí)行注入的命令,最后講結果顯示給黑客。
以DVWA為例,下面使用ping命令測試IP,正常輸入一個IP或者域名會返回一個正常的返回結果。
當輸入惡意構造的語句 netstat -an,會把后面的語句也給執(zhí)行了:
執(zhí)行結果:
PHP的常見命令執(zhí)行函數(shù):
system(),exec(),shell_exec(),passthru()
1、system()
system — 執(zhí)行外部程序,并且顯示輸出
常規(guī)用法:
使用PHP執(zhí)行:
php test1.php
exec — 執(zhí)行一個外部程序
3、shell_exec()
shell_exec — 通過 shell 環(huán)境執(zhí)行命令,并且將完整的輸出以字符串的方式返回。
4、passthru()
passthru() 函數(shù)與 exec() 函數(shù)類似,執(zhí)行外部程序并且顯示原始輸出。
Windows:
用^轉義
如果加上單引號會寫不進去,如果加雙引號會把雙引號一起寫進去,所以要用^轉義
Linux:
linux下需要用來轉義,不過很多php都默認開啟gpc,可以先用16進制轉換一句話再用xxd命令把16進制還原.
?php eval($_POST[pass]);
轉換為16進制:
3c3f706870206576616c28245f504f53545b706173735d293b3e
由于我用的是Linux,所以使用payload寫入一句話:
寫入成功:
1、采用白名單,或使用正則表達式進行過濾。
2、不要讓用戶可以直接控制eval()、system、exec、shell_exec等函數(shù)的參數(shù)。
3、在進入執(zhí)行命令函數(shù)和方法前,對變量進行過濾,對敏感字符進行轉義。
常用的命令有好多啊,你剛開始學,不用特意的去記,用到什么學什么就好了。 當然非要列舉,下面列舉的100條,是來自百度經(jīng)驗上的。 希望對你有幫助。
Linux常用命令大全100條:
1,echo “aa” 》 test.txt 和 echo “bb” 》》 test.txt
//》將原文件清空,并且內(nèi)容寫入到文件中,》》將內(nèi)容放到文件的尾部
2,chmod go+w -R /home/zhangy //給組用戶和其他用戶添加寫的權限
3,tar -tzvf test.tar.gz //列出歸檔內(nèi)容
4,du -ah //查看文件列表大小
5,du -sh //查看所有文件的大小總和
6,echo ‘1+2’|bc -l //數(shù)學運算
7,uname -a //查看linux內(nèi)核等的一些信息
8,badblocks -s /dev/sda //壞道掃描時顯示進度
9,time command //查看命令的運行時間
10,ls -lrt //按時間的倒序排序
11,rsync -P //同步時顯示進度
12.history -c //清楚歷史命令
13,cd - //返回上次目錄
14,tree //顯示目錄樹
15,umount -n /mnt/hda2 //強制卸載
16,echo ~/ //顯示用戶的home目錄
17,echo $[5*5] //算術運算
18,echo $((5*5)) //算術運算
19,eval ls;ps aux|grep httpd //這二個命令都能執(zhí)行
20,free -m //有MB為單位顯示內(nèi)存
21,uptime
//顯示系統(tǒng)已經(jīng)運行了多長時間,它依次顯示下列信息:現(xiàn)在時間、系統(tǒng)已經(jīng)運行了多長時間、目前有多少登陸用戶、系統(tǒng)在過去的1分鐘、5分鐘和15分鐘內(nèi)的平均負載
22,加法運算
[root@krlcgcms01 mytest]# let a=34+3;
[root@krlcgcms01 mytest]# echo $a;
23,export //查看所有環(huán)境變量
24,echo $PATH //查看單個變量
25,cmp file1 file2 //文件內(nèi)容比對
26,clear //清屏
27,echo 23423 |awk --re-interval ‘/[0-9]{3,}/’ //如果不加re-interval的話,不顯示
28,cal //得到一個整齊的日歷格式
29,wc -l //統(tǒng)計行數(shù),wc -w 統(tǒng)計單詞
30,echo “AaDCbd23” |tr “[A-Z]” “[a-z]” 大寫變小寫,echo “AaDCbdc23” |tr -c b-d =
將b-d之外的字符串替換成=
31,echo “ADSF” | iconv -f UTF8 -t GBK //把字符由utf8轉成gbk
-f是from和簡寫,-t好像terminal的簡寫
32,cat -n file //內(nèi)容的前面會顯示行號
33,chattr +i file //只讀,root用戶也沒法對其進行修改
34,lsattr file //查看文件屬性
35,cat /etc/passwd |awk -F: ‘{print $1}’ //查看系統(tǒng)中所有用戶
36,cat /etc/group //查看系統(tǒng)中所有的組
37,groups //查前當前用戶所在的,所有組
38,usermod -g 組名 用戶 //這種方式是覆蓋的方式,用的時候要小心,如果用戶A性于mysql usermod -g php
mysql這樣的話只屬于php了
39,usermod -G 組名 用戶 //這種方式是增加的方式,如果用戶A性于mysql usermod -g php
mysql這樣的話,mysql就屬于2個組了
40,bc //進入數(shù)學計算中去
41,umask 003 u權限是7,g權限是7,其他用戶是4,也就是774,777-003=774
42,mkfs -t vfat /dev/hda6 //將移動硬盤里面的一個分區(qū)格式化成vfat格式
43,mount /dev/cdrom /media/cdrom //掛載cdrom
44,getent group 532 //通過組ID,來查找組信息
45,last //登錄成功用戶記錄
46,lastb //登錄不成功用戶記錄
47,dump -S /dev/sda2 //查看一下要備份/dev/sda2所要的容量
48,dump -0j -f /dev/hda2/sda2_bak.dump.bz2 /dev/sda2 //將sda2進行備份并壓縮
49,restore -t -f /dev/hda2/sda2_bak.dump //查看備份信息
50,restore -r -f /dev/hda2/sda2_bak.dump //還原備份
51,fc-list //查看系統(tǒng)中安裝的字體
52,find 。/ -type f -exec grep -q “root” {} ; -exec echo {} ;
//查找目錄下文件所包涵的字符串
53,vmstat 5 //每5顯示一下次系統(tǒng)信息,cpu,memory,i/o等
54,top 后 在shift + P 所占進程的排序顯示
55,top 后 在shift + M 所占內(nèi)存的排序顯示
56,iptraf -g //查看各個接口的流量
57,ostat -d -x /dev/sda2 2 //用iostat查看磁盤/dev/sda2的磁盤i/o情況,每兩秒刷新一次
58, paste -sd ‘|||n’ test //文件的每4行轉換成1行,并用|隔開
59,lsof -i :22 //知道22端口現(xiàn)在運行什么程序
60,lsof -c abc //顯示abc進程現(xiàn)在打開的文件
61,lsof -p 12 //看進程號為12的進程打開了哪些文件
63,route //查看路由信息
64,ifup //開啟網(wǎng)卡
65,ifdown //關閉網(wǎng)卡
66,route del -net 172.168.0.0 netmask 255.255.0.0 dev eth0 //刪除
172.168這個網(wǎng)段
67,route add -net 172.168.10.0 netmask 255.255.255.0 dev eth0 //增加一個路由
68,netstat -tunl //列出監(jiān)聽的網(wǎng)絡服務端口
69,netstat -tun //列出已連接的網(wǎng)絡服務端口
70,nmap -sP 172.30.4.0/24 //在這個網(wǎng)段內(nèi)有多少用戶在我的主機上操作,一個不錯的安全檢查工具
71,vgdisplay //查看系統(tǒng)中的可用空間
72,lvextend -L+20G /dev/tank/part1 //向part1這個分區(qū)增加20G的空間
73,lvresize -L-10G /dev/tank/part2 //向part2這個分區(qū)減少10G的空間
74,pvdisplay //查看磁盤信息
75,mplayer -loop 10 /mnt/song/music/花兒開了.mp3 //循環(huán)播放10遍
76,pacman -S firefox -nd //nd去掉依賴
77,wget -c //斷點下載
78,chroot /mnt/ubuntu //改變根目錄到/mnt/ubuntu
79,ctrl+a //命令行下,光標稱動到開頭
80,ctrl+e //命令行下,光標移動結尾
81,cut -d: -f 1-4 test //用:分割文件,取分割后的1-4列
82,file /home/zhangy/test.php //用于查看文件的一些基本信息
83,touch test.txt //創(chuàng)建一個空文件 text.txt
84,htpasswd -cbd /usr/local/nginx/conf/authfile //創(chuàng)建訪問控制文件
85,df //查看磁盤空間,和當前的磁盤數(shù)
86,fdisk -l //查看所有磁盤數(shù)
87,alsamixer //進入后,m鍵可以實現(xiàn)靜音
88,killall httpd //把所有httpd進程殺掉
89,killall -9 mysqld_safe //有些進程超級用戶也停止不了,-9是強制刪除
90,mirror /mysql //下載mysql目錄
91,mirror -R /mysql //上傳mysql目錄
92,rmmod pcspkr //關掉tab提示音
93,modprobe pcspkr //開啟tab提示音
94,gpasswd -a zhangy wheel //將zhangy這個用戶添加到wheel這個組
95,dd if=/dev/zero of=/virtual/ubuntu.virt.img bs=1M count=4096
//創(chuàng)建一個4G的IMG鏡像
96,lspic //顯示pci設備
97,lsusb //顯示usb設備
98,history | less //less根more有點像,感覺less用著更舒服點
99,ln -s //如果忘了-s就變成硬鏈接了
100,tar zxvf test.tar.gz -C /home/zhangy //將內(nèi)容解壓到指定目錄
Linux常用的命令可以分為以下幾類:安裝和登錄命令、文件處理命令、系統(tǒng)管理相關命令、網(wǎng)絡操作命令、系統(tǒng)安全相關命令、其它命令。
安裝和登錄命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last。
文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
系統(tǒng)管理相關命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab。
網(wǎng)絡操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup。
系統(tǒng)安全相關命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who。
其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
Linux簡介
Linux,全稱GNU/Linux,是一套免費使用和自由傳播的類Unix操作系統(tǒng),是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統(tǒng)。伴隨著互聯(lián)網(wǎng)的發(fā)展,Linux得到了來自全世界軟件愛好者、組織、公司的支持。
它除了在服務器方面保持著強勁的發(fā)展勢頭以外,在個人電腦、嵌入式系統(tǒng)上都有著長足的進步。使用者不僅可以直觀地獲取該操作系統(tǒng)的實現(xiàn)機制,而且可以根據(jù)自身的需要來修改完善Linux,使其最大化地適應用戶的需要。
Linux不僅系統(tǒng)性能穩(wěn)定,而且是開源軟件。其核心防火墻組件性能高效、配置簡單,保證了系統(tǒng)的安全。在很多企業(yè)網(wǎng)絡中,為了追求速度和安全,Linux不僅僅是被網(wǎng)絡運維人員當作服務器使用,甚至當作網(wǎng)絡防火墻,這是Linux的一大亮點。
docker service ps web 是列出容器中名為web的服務下所有運行中的任務。。
命令定義:
docker service ps [OPTIONS] SERVICE??命令用于列出列出服務的任務。
例:以下命令顯示所有redis服務的任務
$ docker service ps redis
1、查看內(nèi)核版本:uname -a。
2、控制臺-》圖形界面:init 5或者startx。
3、圖形界面-》控制臺: init3或者直接注銷。
4、如何查看ip地址:ifconfig。
5、配置ip:ifconfig eth0 ip地址。
6、重啟:reboot 或者 shutdown -r now。
7、普通用戶切換到系統(tǒng)用戶:su。
8、注銷用戶指令:logout。
9、從子機退出:ctrl+alt。
10、全屏:ctrl+alt+enter 。
11、退出全屏:ctrl+alt。
12、添加普通用戶:useradd 用戶名 ?用戶信息存放在/etc/passwd中。
13、瀏覽某個文件,不能修改:cat/etc/passwd。
14、給用戶設置密碼:passwd 用戶名。
15、普通用戶默認情況下,在本用戶目錄下,不能進入別的用戶目錄下,但可以修改。
16、顯示當前用戶所在目錄:pwd。