安全面試 安全面試總結2

2021-10-03 23:42:27 字數 4694 閱讀 3854

記錄下我這次面試過程中不會的內容,有待之後學習,有些還沒有總結完

self-xss(自跨站指令碼攻擊)是一種由受害者自己輸入xss payload觸發才能成功的xss攻擊行為,這種攻擊可基於dom,或是建立在僅該使用者可操作或可見的域。

比較雞肋,經常和csrf一起使用效果不錯

這裡有乙個關於self-xss結合csrf的例項

雞肋csrf和self-xss組合的變廢為寶

二次注入是指已儲存(資料庫、檔案)的使用者輸入被讀取後再次進入到 sql 查詢語句中導致的注入。

在第一次進行資料庫插入資料的時候,僅僅只是使用了 addslashes 或者是借助 get_magic_quotes_gpc 對其中的特殊字元進行了轉義,在寫入資料庫的時候還是保留了原來的資料,但是資料本身還是髒資料,轉義的資料存入資料庫後被還原。

在將資料存入到了資料庫中之後,開發者就認為資料是可信的。在下一次進行需要進行查詢的時候,直接從資料庫中取出了髒資料,沒有進行進一步的檢驗和處理,這樣就會造成sql的二次注入。比如在第一次插入資料的時候,資料中帶有單引號,直接插入到了資料庫中;然後在下一次使用中在拼湊的過程中,就形成了二次注入。

apache中介軟體早期版本在解析 shell.php.x1.x2.x3的檔案時,是從右往左開始解析,如果遇到不認識的字尾名,就在往左解析,x3無法解析,接著往左判斷x2也不可解析,最後直到php字尾解析成功

除了php字尾外,php|php3|php4|php5|phtml也可以被apache解析

1. iis 6.0

1、目錄解析

iis伺服器會把.asp或.asa目錄下的檔案都解析成asp檔案。對於/***.asp/***.jpg(***.jpg可替換成任意文字檔案),iis 6.0會將***.jpg解析成asp檔案。

2、檔案解析

只要檔案檔名中有.asp,就會優先按asp來解析。例如,對於***.asp;.jpg(需要抓包需改檔名),iis 6.0都會把這種檔案解析成asp檔案。(***.asp;.jpg這類檔案在windows下不允許存在,;.jpg會被自動除去)

3、iis 6.0除了asp還可以解析 .asa .cer .cdx型別的檔案

例如:

2. iis 7.0/7.5 nginx <8.03

主要是在對php解析時存在類似於nginx的解析漏洞,並且需要處於fast-cgi開啟狀態。這種漏洞的利用方式是在任意檔名的url後追加字串"/任意檔名.php",那麼就會按照php的方式來解析。

利用方式

***.txt的內容為

<?php 

fputs

(fopen

('shell.php'

,'w'),

'<?php eval($_post[cmd])?>');

?>

iis 7.0/7.5下的解析漏洞是由於php-cgi本身的問題導致的,與iis自身並沒有直接關係。

目前nginx的解析漏洞利用方式基本上和apache,iis一致,乙個是對於任意檔名加/任意檔名.php的解析漏洞,如原檔名是test.jpg,可以新增為test.jpg/x.php進行解析。還有一種是針對低版本的nginx,可以在任意檔名後面新增%00.php進行解析。

主要影響的版本有:

select field from table where id > 0 order by id limit 【注入點】

limit 關鍵字後面還有 procedure 和 into 關鍵字,into 關鍵字可以用來寫檔案,但這在本文中不重要,這裡的重點是 procedure 關鍵字.mysql預設可用的儲存過程只有 analyse (doc)。

嘗試了如下payload :

mysql> select field from user where id >0 order by id limit 1,1 procedure analyse(extractvalue(rand(),concat(0x3a,version())),1);
error 1105 (hy000): xpath syntax error: 『:5.5.41-0ubuntu0.14.04.1』

上面的方法就是常見的報錯注入,所以,如果注入點支援報錯,那所有問題都ok,但是如果注入點不是報錯的,還可以使用 time-based 的注入,payload 如下:

select field from table where id > 0 order by id limit 1,1 procedure analyse((select extractvalue(rand(),concat(0x3a,(if(mid(version(),1,1) like 5, benchmark(5000000,sha1(1)),1))))),1)

這裡不能用sleep而只能用 benchmark,sleep 在analyse 中沒有被執行。

記錄下我這次面試過程中不會的內容,有待之後學習,有些還沒有總結完

self-xss(自跨站指令碼攻擊)是一種由受害者自己輸入xss payload觸發才能成功的xss攻擊行為,這種攻擊可基於dom,或是建立在僅該使用者可操作或可見的域。

比較雞肋,經常和csrf一起使用效果不錯

這裡有乙個關於self-xss結合csrf的例項

雞肋csrf和self-xss組合的變廢為寶

二次注入是指已儲存(資料庫、檔案)的使用者輸入被讀取後再次進入到 sql 查詢語句中導致的注入。

在第一次進行資料庫插入資料的時候,僅僅只是使用了 addslashes 或者是借助 get_magic_quotes_gpc 對其中的特殊字元進行了轉義,在寫入資料庫的時候還是保留了原來的資料,但是資料本身還是髒資料,轉義的資料存入資料庫後被還原。

在將資料存入到了資料庫中之後,開發者就認為資料是可信的。在下一次進行需要進行查詢的時候,直接從資料庫中取出了髒資料,沒有進行進一步的檢驗和處理,這樣就會造成sql的二次注入。比如在第一次插入資料的時候,資料中帶有單引號,直接插入到了資料庫中;然後在下一次使用中在拼湊的過程中,就形成了二次注入。

apache中介軟體早期版本在解析 shell.php.x1.x2.x3的檔案時,是從右往左開始解析,如果遇到不認識的字尾名,就在往左解析,x3無法解析,接著往左判斷x2也不可解析,最後直到php字尾解析成功

除了php字尾外,php|php3|php4|php5|phtml也可以被apache解析

1. iis 6.0

1、目錄解析

iis伺服器會把.asp或.asa目錄下的檔案都解析成asp檔案。對於/***.asp/***.jpg(***.jpg可替換成任意文字檔案),iis 6.0會將***.jpg解析成asp檔案。

2、檔案解析

只要檔案檔名中有.asp,就會優先按asp來解析。例如,對於***.asp;.jpg(需要抓包需改檔名),iis 6.0都會把這種檔案解析成asp檔案。(***.asp;.jpg這類檔案在windows下不允許存在,;.jpg會被自動除去)

3、iis 6.0除了asp還可以解析 .asa .cer .cdx型別的檔案

例如:

2. iis 7.0/7.5 nginx <8.03

主要是在對php解析時存在類似於nginx的解析漏洞,並且需要處於fast-cgi開啟狀態。這種漏洞的利用方式是在任意檔名的url後追加字串"/任意檔名.php",那麼就會按照php的方式來解析。

利用方式

***.txt的內容為

<?php 

fputs

(fopen

('shell.php'

,'w'),

'<?php eval($_post[cmd])?>');

?>

iis 7.0/7.5下的解析漏洞是由於php-cgi本身的問題導致的,與iis自身並沒有直接關係。

目前nginx的解析漏洞利用方式基本上和apache,iis一致,乙個是對於任意檔名加/任意檔名.php的解析漏洞,如原檔名是test.jpg,可以新增為test.jpg/x.php進行解析。還有一種是針對低版本的nginx,可以在任意檔名後面新增%00.php進行解析。

主要影響的版本有:

安全面試總結

記錄下我這次面試過程中不會的內容,有待之後學習,有些還沒有總結完 self xss 自跨站指令碼攻擊 是一種由受害者自己輸入xss payload觸發才能成功的xss攻擊行為,這種攻擊可基於dom,或是建立在僅該使用者可操作或可見的域。比較雞肋,經常和csrf一起使用效果不錯 這裡有乙個關於self...

360企業安全面試隨筆

題目 1 陣列的常用api有哪些?1 join arr t y s k arr.join t.y.s.k string.split 執行的操作與 array.join 執行的操作是相反的。string.split string.split string.split string.split 3 2 ...

MySQL安全 面試 PHP面試之MySQL安全性

mysql查詢的安全方案使用預處理語句防止sql注入 如刪除id 1的使用者delete from user where id 1 在瀏覽器中通過get方式傳遞id值,get id 1,如user delete?id 1 如果瀏覽器惡意傳值。如下user delete?id 1 or 1 1 值為1...