.htaccess 檔案 在檔案上傳中的使用
先來看看什麼是.htaccess檔案
可以看到能實現很多功能 其他的功能先不管 我們只需要知道.htaccess檔案能夠設定伺服器解析檔案的格式 比如 設定 匹配到ddd 就用php的格式來解析
我這裡使用的使Apache伺服器 先下了一個phpstdy的整合環境
Apache要使.htaccess檔案生效要在httpd.config 配置兩個地方(百度搜的)
Options FollowSymLinks
AllowOverride None
改為:
Options FollowSymLinksAllowOverride All
把LoadModule rewrite_module modules/mod_rewrite.so前面的註釋符號#刪除
先試試不配置 直接寫.htaccess檔案 這段程式碼的意思使匹配到檔名中含有dd的字元 就以php形式去解析
儲存到根目錄下 建立一個dd.txt檔案
寫一個彈窗的
無語 直接就生效了 看看配置
LoadModule rewrite_module modules/mod_rewrite.so 預設開的 Options FollowSymLinks沒有發現有這個,不知道是不是整合環境的原因
既然這樣的話 直接安裝原始Apache試驗
搞了半天才弄好php和Apache的連結 一步出錯 就問題多多
開始實驗 同樣傳.htaccess檔案 建立dd.txt 沒有解析
看看配置 預設關閉的 刪除註釋符在試
一樣沒解析 再改一下 Options FollowSymLinks AllowOverride None引數 同樣沒發現有
百度的這兩種方法沒用 修改了apache服務就會啟動不了
直接替換所有的
解析成功
我又 將LoadModule rewrite_module modules/mod_rewrite.so 的註釋加了上去發現同樣解析 也就是說和 LoadModule rewrite_module modules/mod_rewrite.so 沒多大關係
總結:
1..htaccess檔案使用要開啟apache httpd.config AllowOverride All 而且要重啟服務才能生效 和LoadModule rewrite_module modules/mod_rewrite.so 沒關係
2.整合環境簡單但是不安全所有的安全配置都是開啟的,原始平臺安裝配置稍複雜但是安全係數高配置都是預設關閉的,而且一般整合環境拿到的shell基本上是最高許可權
3.上傳使用.htaccess檔案如果碰到是黑名單處理並且是整合環境搭建的環境那就又很大的可能繞過驗證getshell,不是的話就只能憑運氣看站長是否開啟了AllowOverride All