RCE & injection

講師:堇姬 @ Izcc-ctf

2023.12.8

堇姬Naup(網管/美宣)

成電二年級/幽夜工作室繪師

CKCSC36

DC : naup_sumire_hime

IG : ckcsc36th_naup

涉獵C++、C、python、遊戲(tkinter、pygame)、資安(Web、Crypto)、AI、flask、html/css/js、 PHP、DC bot、GO

喜歡看輕小說、動畫、Vtuber、打音遊,也喜歡看百合,就是一個長年混跡ACG的宅女。

夢想是可以成為很電的駭客跟繪師,也想自己寫出一個AI老婆。

本日重點

  • SQL 語法

  • SQL injection

  • RCE

  • command injection

  • 檔案上傳漏洞

SQL 語法

一種用於存取和操作資料庫的標準語言

Customers
SELECT CustomerName, City FROM Customers;

SELECT 欄位 FROM 表名

SELECT 欄位名 FROM 表名
WHERE 欄位名=內容;

WHERE子句用於過濾記錄

SELECT * FROM Customers WHERE Country='Mexico';

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');

DELETE FROM table_name WHERE condition

DELETE FROM Customers WHERE CustomerName='Alfreds Futterkiste';

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

SQL injection

透過修改 SQL 語句,進而達到對資料庫的惡意攻擊

SELECT username,password FROM users WHERE username = '{username}' 
AND password = '{password}'

假設你的帳密分別是user跟123456

而管理員的帳號是admin,但密碼你不知道

想一想這樣的寫法會不會造成問題?

SELECT id, username FROM users WHERE username = 'admin' 
AND password = '' OR 1=1 --'

' OR 1=1 --

防範

  • 針對特殊字元進行過濾

  • 使用「參數化查詢 (Parameterized Query)」來設計資料存取功能。

  • WAF

RCE

Remote Code Execution

攻擊者在組織的電腦或網路上執行惡意程式碼。執行攻擊者控制程式碼的能力可用於多種用途,包括部署其他惡意程式碼或竊取敏感性資料。

command injection

執行伺服器的命令 ( Command ) ,通常有這個漏洞就可以做到遠端程式碼執行( RCE,Remote Code Execution)

#include <stdlib.h>

int main() {
    char input[100];
    scanf("%s", input);
    
    system("cat"+input);

    return 0;
}

這是一個可以輸入文件,來做查詢的程式碼

如果我輸入 vvv.txt 如果有這份文件,就會cat vvv.txt

這樣做有甚麼問題嗎?

如果我輸入vvv.txt;ls

我可以在  ;  後執行任意指令!!

  • 後端邏輯透過指令「串接」的方式

  • 沒有去驗證使用者的輸入

檔案上傳漏洞

允許使用者上傳文件到其檔案系統,且未對檔名、類型、內容或大小進行足夠的驗證時,就可能產生檔案上傳漏洞。

<?php  system($_GET['a']); ?>

一句話木馬

Web Shell

是一種惡意腳本,可以使駭客通過簡單地向正確的端點發送HTTP請求來在遠程網絡伺服器上執行任意命令。

一句話老婆

Web基礎課已經結束了

下一節課會進入Crypto

RCE&injection

By naup96321

RCE&injection

  • 74