.本文為公測版,一旦發(fā)現(xiàn)有任何錯誤內(nèi)容,會立即進行修復,請持續(xù)關注本站。
2.本文在正式版之前會不斷的邀請各路黑客大手進行評價測試,歡迎提出異議。
本文僅針對網(wǎng)站部分,本文會對typecho,wordpress進行測試
如果你root端口為22,并且密碼是123456,就沒必要往下看了。
網(wǎng)站環(huán)境為linux tengine/nginx mariaDB,同理,apache也有相關設置,百度實驗下即可。
**本文會闡述以下部分
1.基礎權限控制
2.執(zhí)行目錄限制
3.PHP的限制
4.webshell寫入與執(zhí)行
5.權限細分,必須寫入的目錄**
1.基礎權限控制
什么叫基礎權限?在LNMP架構下,nginx+php-fpm架構需要什么權限?
這里我們先來看一下默認權限
默認我們的nginx運行用戶是nginx,而php-fpm的默認用戶是apache,默認用戶安全嗎?
看一下webshell
uid=48(apache) gid=48(apache) groups=48(apache)
很明顯,我們的默認用戶是apache
我們使用shell新建一個目錄,很明顯,我們是無法建立文件夾的
mkdir: cannot create directory `1': Permission denied
在網(wǎng)上很多教程會告訴我們,吧nginx和phpfpm改成同樣的用戶,我們看看會發(fā)生什么。
[root@gov 1]# sudo -u nginx mkdir 1
[root@gov 1]# ll
total 4
drwxr-xr-x 2 nginx nginx 4096 Aug 19 18:08 1
沒錯,這是一項愚蠢的決定!
所以默認權限是安全的嗎?并不是,你忘了上傳目錄,我們看下上傳目錄的權限
drwxrwx--- 3 nginx apache 4096 Aug 14 17:09 uploads
沒錯,上傳目錄的存在就是放大權限,如果php沒有寫入權限,那么他就無法上傳圖片。
假設,我們手里有一個0day,現(xiàn)在我要用它來getshell
我會選擇uploads目錄
-rw-r--r-- 1 apache apache 0 Aug 19 18:11 1.php
完美寫入,接著你的站就會被玩壞了,寫入shell后我們可以插件數(shù)據(jù)庫鏈接密碼,進網(wǎng)站后臺,脫褲,掛黑鏈等等等等
網(wǎng)站里有幾個目錄是默認可以寫入的?在你的網(wǎng)站目錄下執(zhí)行l(wèi)s -l
通常plugins themes uploads
這三個目錄都是可以寫入的。
你還有其他目錄可以寫入?趕緊修改權限吧!
加入我們的網(wǎng)站在/var/www/html/root
那么下面的命令是極好的,對于必須要有上傳權限的uploads目錄,我們下面再說
chown -R nginx.apache html
find /var/www/html/root -type d -exec chmod 750 {} \;
find /var/www/html/root -not -type d -exec chmod 640 {} \;
chmod 770 /var/www/html/root/uploads -R
如果你有某些插件也需要寫入權限,給他權限,并認真看下面的內(nèi)容。
2.執(zhí)行目錄限制
我們的apache權限有多大呢?相同的網(wǎng)站擁有相同的權限。
默認情況下,我們的apache權限能瀏覽大部分目錄。最要命的問題在于,他可以跨站執(zhí)行,從你的網(wǎng)站一直接執(zhí)行到網(wǎng)站二。
我們需要給他一個限制,每個虛擬主機一個單獨的限制,沒錯就是open_basedir。
這里我們需要特別的技巧,每個虛擬機都要限制
這樣虛擬主機將只允許在網(wǎng)站目錄和tmp目錄執(zhí)行,而不能穿越到其他目錄
在烏云有一篇討論繞過open_basedir
的文章,所以open_basedir
只能讓你更安全而不是徹底安全,所以你還需要往下看。
server {
location ~ .*\.php(\/.*)*$ {
#include pathinfo.conf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/";
3.PHP的限制
我們想一個另類解決辦法,如何限制webshell的執(zhí)行?
在php.ini里,我們可以選擇關閉某些不安全的函數(shù)
但是由于php這玩意分之多又復雜,這里只能整理出一部分不安全的函數(shù)。
直接添加到php.ini最后面即可
disable_functions=exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,dl,popen,pcntl_exec,socket_accept,socket_bind,socket_clear_error,socket_close,socket_connect,socket_create_listen,socket_create_pair,socket_create,socket_get_option,socket_getpeername,socket_getsockname,socket_last_error,socket_listen,socket_read,socket_recv,socket_recvfrom,socket_select,socket_send,socket_sendto,socket_set_block,socket_set_nonblock,socket_set_option,socket_shutdown,socket_strerror,socket_write,stream_socket_server,disk_total_space,disk_free_space,diskfreespace,getrusage,get_current_user,getmyuid,getmypid,dl,leak,listen,chgrp,link,symlink,dlopen,proc_nice,proc_get_stats,proc_terminate,shell_exec,sh2_exec,posix_getpwuid,posix_getgrgid,posix_kill,ini_restore,mkfifo,dbmopen,dbase_open,filepro,filepro_rowcount,posix_mkfifo,putenv,sleep,chmod,chown,chroot,ini_set,phpinfo,proc_get_status,error_log,syslog,readlink,putenv
在看webshell,我們會發(fā)現(xiàn)里面空空如也了,并不能執(zhí)行命令了。
4.webshell寫入與執(zhí)行
現(xiàn)在我們的網(wǎng)站已經(jīng)很安全了,他能否更加安全?
現(xiàn)在,我們就要說說我們必須要有執(zhí)行權限的upload目錄了,nginx同樣提供了解決方案
location ~ /(usr/uploads)/.*\.(php|php5)?$
{
deny all;
}
這個時候我們打開uploads中的php文件會提示403
403 Forbidden
You don't have permission to access the URL on this server. Sorry for the inconvenience.
我們的效果得到驗證,即使寫入也不能執(zhí)行。
5.必須要寫入權限但是又包含php文件的目錄。
例如我的用的郵件通知插件目錄內(nèi)有cache和和log目錄,是必須有寫入權限的
這里千萬不要犯懶,直接給CommentToMail
寫入
location ~ /(usr/uploads|usr/plugins/CommentToMail/cache|usr/plugins/CommentToMail/log)/.*\.(php|php5)?$
{
deny all;
}
既可以實現(xiàn)寫入文件,又可以讓php無法執(zhí)行。
總結,上面的所有配置:
用戶與PHP運行權限分離
nginx:apache
執(zhí)行目錄限制
open_basedir
PHP函數(shù)限制
php.ini
特殊目錄關閉PHP解析
deny all
權限細分
xx|xx|xx
歡迎拍磚,同時 起司靶場v2 上線,完全脫離安全鎖之類的軟件,歡迎測試。
起司靶場v2
用 Access 可以很好地管理各種數(shù)據(jù), 但是在實際應用中, 許多數(shù)據(jù)并不是使用 Access 來收集的, 此時, 為了使用 Access 管理其他軟件或程序收集到的數(shù)據(jù), 可以將收集到的數(shù)據(jù)導入 Access 中。
在 Access 數(shù)據(jù)庫中, 可以將其他的 Access 數(shù)據(jù)庫、 ODBC 數(shù)據(jù)庫、 Excel 表格、 HTML 文檔和文本文件等外部數(shù)據(jù)導入當前數(shù)據(jù)庫中, 下面將分別介紹。
如果要將其他 Access 數(shù)據(jù)庫導入數(shù)據(jù)庫對象, 既可以使用復制和粘貼的方法, 也可以使用【導入向?qū)А縼硗瓿伞?使用【導入向?qū)А?可以在不打開 Access 的情況下完成, 其具體操作步驟如下。
Step 01 打開"銷售管理數(shù)據(jù) .accdb",單擊【外部數(shù)據(jù)】 選項卡【導入并鏈接】 組中的【新數(shù)據(jù)源】 下拉按鈕,在彈出的下拉菜單中選擇【從數(shù)據(jù)庫】選項,在彈出的級聯(lián)菜單中選擇【Access】 選項, 如圖所示。
Step 02 打開【獲取外部數(shù)據(jù) -Access數(shù)據(jù)庫】 對話框, 單擊【文件名】文本框右側的【瀏覽】 按鈕, 如圖所示。
Step 03 打開【打開】 對話框,選擇要導入的數(shù)據(jù)庫,單擊【打開】按鈕,如圖所示。
Step 04 返回【獲取外部數(shù)據(jù) -Access數(shù)據(jù)庫】 對話框,選中【將表、 查詢、 窗體、 報表、 宏和模塊導入當前數(shù)據(jù)庫】單選按鈕,單擊【確定】按鈕, 如圖所示。
技術看板
選中【將表、 查詢、 窗體、 報表、宏和模塊導入當前數(shù)據(jù)庫】單選按鈕,表示導入后的對象與源對象是獨立的,沒有任何關系。 如果選中【通過創(chuàng)建鏈接表來鏈接到數(shù)據(jù)源】 單選按鈕,會在當前數(shù)據(jù)庫中創(chuàng)建一個鏈接表,鏈接到源數(shù)據(jù)庫對象上, 此鏈接表的改動是雙向的, 無論修改源對象還是當前數(shù)據(jù)庫對象, 都會同步反映給雙方。 在 Access 中, 利用該鏈接功能,可以實現(xiàn)文件的共享。
Step 05 打開【導入對象】 對話框, 在6 個選項卡中分別顯示了源數(shù)據(jù)庫中的各個對象, 選擇【表】 選項卡中的【年度銷售記錄】 選項,單擊【確定】 按鈕如圖所示。
Step 06 返回【獲取外部數(shù)據(jù) -Access數(shù)據(jù)庫】 對話框,選中【保存導入步驟】 復選框; 在【另存為】文本框中輸入名稱,單擊【保存導入】 按鈕, 如圖所示。
Step 07 操作完成后, 即可導入選擇的數(shù)據(jù)庫, 如圖所示。
對于一般用戶而言, 對 Excel 的熟悉程序遠遠高于 Access, 尤其是在操作表格數(shù)據(jù)時, Excel 的界面更加直觀, 操作也更為簡潔。 所以, 用戶可以先在 Excel 中編輯好數(shù)據(jù), 然后將其導入 Access 中, 從而方便快捷地制作表對象, 具體操作步驟如下。
Step 01 打開"銷售管理數(shù)據(jù) .accdb",單擊【外部數(shù)據(jù)】 選項卡【導入并鏈接】 組中的【新數(shù)據(jù)源】下拉按鈕,在彈出的下拉菜單中選擇【從文件】選項,在彈出的級聯(lián)菜單中選擇【Excel】 選項, 如圖所示。
Step 02 打開【獲取外部數(shù)據(jù) -Excel 電子表格】 對話框, 單擊【文件名】文本框右側的【瀏覽】 按鈕, 如圖所示。
Step 03 打開【打開】 對話框,選擇要導入的 Excel電子表格,單擊【打開】 按鈕, 如圖所示。
Step 04 返回【獲取外部數(shù)據(jù) -Excel 電子表格】 對話框,選中【將源數(shù)據(jù)導入當前數(shù)據(jù)庫的新表中】 單選按鈕,單擊【確定】按鈕,如圖所示。
Step 05 打開【導入數(shù)據(jù)表向?qū)А繉υ捒颍x中【顯示工作表】 單選按鈕,單擊【下一步】 按鈕,如圖所示。
Step 06 在【導入數(shù)據(jù)表向?qū)А?對話框中,選中【第一行包含列標題】復選框,單擊【下一步】 按鈕,如圖所示。
Step 07 在【導入數(shù)據(jù)表向?qū)А?對話框中的【字段選項】 欄分別指定每個字段的名稱、 數(shù)據(jù)類型、 索引等信息, 如指定【銷售編號】字段的【索引】為【有(無重復)】,單擊【下一步】 按鈕,如圖所示。
Step 08 在【導入數(shù)據(jù)表向?qū)А?對話框中,選中【我自己選擇主鍵】 單選按鈕,在右側的下拉列表框中選擇【銷售編號】 選項,單擊【下一步】 按鈕, 如圖所示。
Step 09 在【導入數(shù)據(jù)表向?qū)А?對話框中, 在【導入到表】 文本框中指定表名稱, 如保持默認名稱, 單擊【完成】 按鈕, 如圖所示。
Step 10 返回【獲取外部數(shù)據(jù) -Excel 電子表格】 對話框,選中【保存導入步驟】 復選框,在【另存為】文本框中輸入名稱,單擊【保存導入】 按鈕, 如圖所示。
Step 11 操作完成后, 即可導入選擇的Excel 電子表格, 并在數(shù)據(jù)庫中創(chuàng)建一個新表, 如圖所示。
在工作中, 需要使用文本文件導出的數(shù)據(jù)很多, 如考勤文件、 企業(yè)到企業(yè)(B2B) 的數(shù)據(jù)傳輸?shù)取?如果有需要, 也可以將這些文本文件導入Access數(shù)據(jù)庫中, 具體操作步驟如下。
Step 01 打開"銷售管理數(shù)據(jù) .accdb",單擊【外部數(shù)據(jù)】 選項卡【導入并鏈接】 組中的【新數(shù)據(jù)源】 下拉按鈕,在彈出的下拉菜單中選擇【從文件】選項,在彈出的級聯(lián)菜單中選擇【文本文件】 選項, 如圖所示。
Step 02 打開【獲取外部數(shù)據(jù) - 文本文件】 對話框, 單擊【文件名】 文本框右側的【瀏覽】按鈕, 如圖所示。
Step 03 打開【打開】 對話框,選擇要導入的文本文件,單擊【打開】按鈕, 如圖所示。
Step 04 返回【獲取外部數(shù)據(jù) - 文本文件】 對話框,選中【將源數(shù)據(jù)導入當前數(shù)據(jù)庫的新表中】單選按鈕,單擊【確定】 按鈕, 如圖所示。
Step 05 打開【導入文本向?qū)А?對話框,選中【帶分隔符】 單選按鈕,單擊【下一步】 按鈕, 如圖所示。
技能拓展—導入固定寬度的文本文件
如果文本文件是使用固定寬度分隔開, 可以選中【固定寬度】單選按鈕,系統(tǒng)會根據(jù)寬度創(chuàng)建分隔線。 用戶也可以對分隔線執(zhí)行添加、移動等操作,如圖所示。
Step 06 在【導入文本向?qū)А?對話框中的【請選擇字段分隔符】 欄選中【逗號】 單選按鈕, 選中【第一行包含字段名稱】復選框,單擊【下一步】 按鈕, 如圖所示。
Step 07 在【導入文本向?qū)А?對話框中的【字段選項】 欄設置各字段的名稱和數(shù)據(jù)類型, 單擊【下一步】按鈕, 如圖所示。
Step 08 在【導入文本向?qū)А?對話框中,選中【讓 Access 添加主鍵】 單選按鈕,單擊【下一步】 按鈕, 如圖所示。
Step 09 在【導入文本向?qū)А?對話框中的【導入到表】 文本框中輸入文件名,單擊【完成】 按鈕, 如圖所示。
Step 10 返回【獲取外部數(shù)據(jù) - 文本文件】 對話框, 直接單擊【關閉】 按鈕,如圖所示。
Step 11 操作完成后, 即可導入選擇的文本文件, 并在數(shù)據(jù)庫中創(chuàng)建一個新表, 如圖所示。
上面藍色字體↑“懶人簡筆畫”關注我, 就可以實現(xiàn)簡筆畫秒會, [懶人大學]知識秒會的夢想了哦
Access | ||
1.快捷鍵 | 2.創(chuàng)建數(shù)據(jù)庫 | 3.創(chuàng)建查詢 |
4.SQL查詢 | 5.常用SQL | 6.函數(shù)調(diào)用 |
7.導出到Excel | 8.vba操作Access | 9.在線參考 |
10.練習題 | 11.幾十本電子書 |
4000個簡筆畫秒會教程匯總 | ||
1.表情 | 2.眼睛 | 3.鼻子 |
4.嘴 | 5.發(fā) | 6.手 |
7.身 | 8.衣服 | 9.火柴人 |
10.Q版人物 | 11.貓 | 12.狗 |
13.鼠 | 14.家具 | 15.鱷魚 |
16.大象 | 17.交通 | 18.植物 |
19.樹 | 20.水果 | 21.食物 |
22.春節(jié) | 23.圣誕素材1 | 24.圣誕樹 |
25.風景 | 26.車 | 27.樂器 |
28.房子 | 29.京劇 | 30.3D |
31.七龍珠全家福 | 32.蠟筆小新全家福 | 33.機器貓全家福 |
34.巴巴爸爸全家福 | 35.小豬佩奇全家福 | 36.旅行青蛙全家福 |
37.擠娃娃 |
懶人大學-愿天下知識都能秒會 | ||
1.簡筆畫 | 2.公開課 | 3.水彩 |
4.書法 | 5.數(shù)位板 | 6.手帳 |
7.素描 | 8.速寫 | 9.花體 |
10.唱歌 | 11.尤克里里 | 12.吉他 |
13.物理 | 14.化學 | 15.少兒舞蹈 |
16.C語言 | 17.爬蟲 | 18.AI音箱 |
19.PPT | 20.Excel | 21.Linux |
22.ih5 | 23.小程序 | 24.javascript |
25.公眾號 | 26.聲律啟蒙 | 27.資治通鑒 |
28.幽默故事 | 29.解剖學 | 30.常見病 |
31.國際音標 | 32.英語教程匯總 | 33.法語 |
34.韓語教程匯總 | 35.日語教程匯總 | 36.德語教程匯總 |
37.馬來語教程匯總 | 38.葡萄牙語教程匯總 | 39.藏語教程匯總 |
40.意大利語教程匯總 | 41.俄語教程匯總 | 42.阿拉伯語秒會教程 |
43.泰語教程匯總 | 44.西班牙語秒會教程匯總 | 45.AI教程匯總 |
46.PS秒會教程匯總 | 47.攝影教程匯總 | 48.經(jīng)典片頭欣賞 |
49.烹飪教程匯總 | 50.蒸菜教程匯總 | 51.會計教程匯總 |
52.插花教程匯總 |
懶人大學vip QQ群433569528
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。