
把所有車牌都刪掉了 xddd

這次會提到的

以 python eval 舉例

其他常見的危險函式

如何預防?
可以看看 這個
Code Injection 常常會出現在 IOT 設備 (像是監視器、TX link 之類的)

指令就會變成 dig vincent55.tw; id
基本技巧 ; | && ||

command substitution

如果空白被過濾了 - 用 ${IFS} / <

如果有一些 keyword 被過濾了

這題她有提供原始碼,可以知道背後的執行邏輯是 <pre><?= system("dig '" . $_POST['name'] . "';") ?></pre> ,所以可以用 '; 來截斷 dig 然後就能在後面輸入想要的指令了,先用 ls 找到 Flag 的位置,然後再印出來就是答案摟


這題多檔了一些字 blacklist = ['|', '&', ';', '>', '<', "\n", 'flag']; ,可以用之前的 code substitution 來繞過

這題多檔了空白,用 ${IFS} 就能通過了

Normal shell: ssh

Reverse shell 就是改成從 server 主動連線到 client


這邊 有各種不同的 reverse shell
ngrok 可以用來反向代理,這樣如果連成大網路就不會被擋一些東西了
簡介



SELECT title, subtitle, context FROM articles;
這邊是要找出 title, subtitle, context 這三個欄位的資料

SELECT * FROM articles;
找出所有欄位的資料

SELECT * FROM articles WHERE id = 2;
找出 id 為 2 的資料

這邊就有點像是前面 command injection 一樣,可以讓他做一些壞壞的事情
SELECT * FROM articles WHERE id = 3; DROP TABLE articles;

另外如果是在處理登入的資料庫是用 SELECT * FROM user='' AND pass= 來做判斷帳密是否正確,那就有可能發生下面一張的問題

藉由 ' 截斷 和 -- 註解的方式,可以讓他不管密碼是什麼的狀況下登入

分類