下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PHP全解1- 全解(一)-PHP網(wǎng)頁的安全性問題 方式1、命令注入(CommandInjection)2、eval注入(EvalInjection)4、跨(CrossSiteScripting,XSS)5、SQL注入(SQLinjection)6、跨請求(CrossSiteRequestForgeries,CSRF)7、Session會話劫持(SessionHijacking)8、Session固定(Session9、HTTP響應(yīng)拆分(HTTPResponseSplitting)10、文件上傳(FileUploadAttack) 穿越(DirectoryTraversal)12、文件包含(RemoteInclusion)13、動態(tài)函數(shù)注入(DynamicVariableEvaluation)14、URL(URLattack)15、表單提交(SpoofedFormSubmissions)16、HTTP請求(SpoofedHTTPRequests)幾個重要的php.ini選Register全解(二)-命令注入命令注入system、exec、passthru、s_exec、“(與s_exec功能相同)stringsystem(stringcommand,intcommand要執(zhí)行return_var存放執(zhí)行命令的執(zhí)行后的狀態(tài)stringexec(stringcommand,array&output,intcommand要執(zhí)行output獲得執(zhí)行命令輸出的每一行字符return_var存放執(zhí)行命令后的voidpassthru(stringcommand,intcommand要執(zhí)行return_var存放執(zhí)行命令后的string _exec(stringcommand要執(zhí)行實例$dir=$_GET["dir"];if(isset($dir)){echo"<pre>";system("ls-al".$dir);echo"</pre>";}我們提交 提交以后,命令變成了system("ls-al|cateval注入mixedeval(stringcode_str)//eval注入一般發(fā)生在者能控制輸入的字符串的時$var=if{$arg=$_GET["arg"];eval("\$var=$arg;");echo"\$var=".$var;} 動態(tài)函數(shù)funcA(){}func{}if{$myfunc=$_GET["func"];echo$myfunc();}程序員原意是想動態(tài)調(diào)用A和B函數(shù),那我們提交htt /ex.php?func=phpinfo漏防范方法3、使用escapes arg函數(shù)來處理命令參數(shù)4、使用safe_mode_exec_dir指定可執(zhí)行文件的路 arg函數(shù)會將任何引起參數(shù)或命令結(jié)束的字符轉(zhuǎn)義,單引號“’”,替換成“\’”,雙引號“"”,替用 指定可執(zhí)行文件的路徑,可以把會使用令提前放入此路徑safe_mode_exec_dir= 漏洞全解(三)-植客戶端植客戶端植入(ScriptInsertion),是指將可以執(zhí)行的插入到表單、、動畫或超文字等對象內(nèi)。當用戶打開這些對象后,者所植入的就會被執(zhí)行,進而開始。可以被用作植入的HTML一般包括以下幾種1、<script>標記的javascript和vbscript等頁面程序。在<script>內(nèi)可以指定js程序代碼,也可以在src屬性內(nèi)指定js文件的URL路徑3、<embed>標記的對象。這些對象是多文件,例如:swf文件。通常在src屬性內(nèi)指定對象客戶端植入的步1、者普通用戶后登陸實CREATETABLE`postmessage``id`int(11)NOTNULL`subject`varchar(60)NOTNULLdefault`name`varchar(40)NOTNULLdefault `varchar(25)NOTNULLdefault`postdate`datetimeNOTNULLdefault’0000-00-00PRIMARYKEYENGINE=MyISAMDEFAULTCHARSET=gb2312COMMENT=’使用者的留言AUTO_INCREMENT=69//add.php插入留//list.php留言列//show.php顯示留插入> ";</script>跳轉(zhuǎn)頁面或者使用其他自行構(gòu)造的js代碼進行防范的方法stringhtmlspecialcharsstringstring,intquote_stylestringcharset)string是要編碼的字符串qoestye可選值可為PAEN_QOESEN_OUOESPA,EN_QOESEN_NQOTES,charset可選,表示使用的字符&—->&"—->‘—-><—->>—-><?phpechohtmlspecialchars(nl2br($row['question']),ENT_QUOTES);全解(四)-xss跨站跨縮寫為XSS 么他就可以成此用戶來登錄,獲得此用戶的權(quán)限。2、目標用戶登錄此,在登陸期間打開了者發(fā)送的xss3、執(zhí)行了此xss4、目標用戶頁面跳轉(zhuǎn)到者的,者取得了目標用戶的信5、者使用目標用戶的信息登錄,完似htt ;</script>,誘騙用戶點擊后,可以獲取用戶s防范方法stringhtmlspecialchars(stringstring,intquote_style,stringstring是要編碼的字符quote_style可選,值可為 charset可選,表示使用的字符集函數(shù)會將下列特殊字符轉(zhuǎn)換成html編碼&—->&"—->"‘—-><—->>—-><formaction="<?phpecho$_SERVER["PHP_SELF"];?>" get.php中上述的表單. .. .
<formaction=""全解(五)-SQL注入SQL注入果web程序沒有對提交的數(shù)據(jù)經(jīng)過檢查,那么就會造成sql注入。SQL注入的一般步驟實CREATETABLE`postmessage``id`int(11)NOTNULL`subject`varchar(60)NOTNULLdefault`name`varchar(40)NOTNULLdefault `varchar(25)NOTNULLdefault`postdate`datetimeNOTNULLdefault’0000-00-00PRIMARYKEYENGINE=MyISAMDEFAULTCHARSET=gb2312COMMENT=’運用者的留言AUTO_INCREMENT=69grantallprivilegesonch3.*to‘sectop’@localhostidentifiedby//add.php插入留//list.php留言列//show.php顯示留頁 .cn/show.php?id=71and//show.php12-15//mysql查詢語$query="select*frompostmessagewhereid=$result=ordie("ySQL查詢語句失?。篴nd1=1,語select*frompostmessagewhereid71and1=1這語句前值后值都為真,and以后也為真,返回查詢到的數(shù)據(jù)and1=2,語select*frompostmessagewhereid71and1=2這語句前值為真,后值為假,and以后為假,查詢不到任何數(shù)據(jù)正常的SQL查詢,經(jīng)過我們構(gòu)造的語句之后,形成了SQL注入。通過這個注入點,我們還可以進一步拿到權(quán)限,比如說運用union管理,數(shù)據(jù)庫信息,或者用mysql的load_file,intooutfile等函數(shù)進一步滲透。防范方法整型參數(shù)intval函數(shù)將數(shù)據(jù)轉(zhuǎn)換成整數(shù)intintval(mixedvar,intbase,可選,是基礎(chǔ)數(shù),默認是浮點型參數(shù)運用floatvaldoubleval函數(shù)分別轉(zhuǎn)換單精度和雙精度浮點型參數(shù)intfloatval(mixedintdoubleval(mixedvar是要轉(zhuǎn)換的變量stringaddslashes(stringstr是要檢查的字符//mysql查詢語$query="select*frompostmessagewhereid=$result=ordie("ySQL查詢語句失敗:{$var=}{$var=} 漏洞全解(六)-請跨請求CSRF(CrossSiteRequestForgeries),意為跨請求,也有寫為XSRF。者目標用戶擊者利用隱蔽的HTTP連接,讓目標用戶在不注意的情況下單擊這個,由于是用戶自己點擊的,而他又是合法用戶擁有合法權(quán)限,所以目標用戶能夠在內(nèi)執(zhí)行特定的HTTP,從而達到者的目的。例如:某個購物商品時,采用/buy.php?item=watch&num=1,item參數(shù)確定要什么物品,num參數(shù)確定要數(shù)量,如果者以隱藏的方式發(fā)送給目標用戶<imgsrc="h 以后,的數(shù)量就成了1000個實 if{$ID_Dele=$sql="deletefrombookwhereidin(".$ID_Dele.")";}{$sql="deletefrombookwhereid=".$id傳遞要刪除ID}echoscriptlanguage=’javascript’>";echo"alert(‘刪除成功!’);";echo"echo<imgsrc="delbook.php?id=2"<imgsrc="delbook.php?id=3"<imgsrc="delbook.php?id=4"<imgsrc="delbook.php?id=5"插入4張分別刪除4個id留言,然后我們返回首頁瀏覽看,沒有什么變化。。顯示不了者在留言中插入隱藏的,此具有刪除留言的作用,而者自己這些的時候,是不具限的,所以看不到任何效果,但是當管理員登陸后,查看此留言,就會執(zhí)行隱藏的,{$copyright=$_POST["copyright"]."<br/>設(shè)計制作:<ahref {$sql="updategly."’where}{$sql="updategly."’,copyright=’".$copyright."’where}echoscriptlanguage=’javascript’>";echo"alert(‘修改成功!’);";echo"echo}這個文件用于修改管理和設(shè)置的一些信息,我們可以直接構(gòu)造如下表單<formaction=""method="post"name="form1"<inputtype="radio"value="1"<inputtype="radio"name="sh"checked<inputtype="text"name="username"<inputtype="password"name="password"<inputtype="text"name="title"value="隨緣PHP留言V1.0(帶審核功能<textareaname="gg"rows="6"cols="80">安裝使用隨緣網(wǎng)絡(luò)PHP留言板V1.0(帶審核<textareaname="copyright"rows="6"cols="80">隨緣網(wǎng)絡(luò)PHP留言本V1.0:廈門隨緣網(wǎng)絡(luò)科技2005-2009<br/>承接建設(shè)及系統(tǒng)定制提供主機</textarea>存為attack.html,放到自己上htt 藏這個,管理以后,他的用戶名和全部修改成了root防范方法3、使用POST,不要使用在 {){$serverhost= = = if(strncmp($sourcehost,$serverhost,{echoscriptlanguage=’javascript’>";echo"alert(‘數(shù)據(jù)來源異常!’);";& echo"echo}}$copyright=$_POST["copyright"]."<br/>設(shè)計制作:<ahref {$sql="updategly."’where}{$sql="updategly."’,copyright=’".$copyright."’where}echoscriptlanguage=’javascript’>";echo"alert(‘修改成功!’);";echo"echo}檢查內(nèi)置隱藏變量{if{//$post_id=md5(uniqid(rand(),//Session變$_SESSION["post_id"]=}//檢查是否相if{//if($_SESSION["post_id"]!={//POST變echoscriptlanguage=’javascript’>";echo"alert(‘數(shù)據(jù)來源異常!’);";echo"echo}}<inputtype="resetname="Submit2value重置<inputtype="hidden"name="post_id"value="<?phpecho}使用POST,不要使用傳遞表單字段時,一定要是用POST,不要使用GET,處理變量也不要直接使用PHP漏洞全解(七)-Session劫持服務(wù)端和客戶端之間session(會話)來連接溝通。當客戶端的瀏覽器連接到服務(wù)器后,服務(wù)器就會是由一個獨特的字符sessionid。用戶發(fā)出請求時,所發(fā)送的http表頭內(nèi)包含sessionid的值。服務(wù)器使用http表頭內(nèi)的sessionid來識別時哪個用戶提交的請求。session保存的是每個用戶的個人數(shù)據(jù),一般的web應(yīng)用程序會使用session來保存通過驗證的用戶賬號和。在轉(zhuǎn)換不同的網(wǎng)頁時,如果需要驗證用戶,就是用session內(nèi)所保存的賬號和來比較。session的生命周期從用戶連上服務(wù)器后開始,在用戶關(guān)掉瀏覽器或是注銷時用戶session_destroy函數(shù)刪session數(shù)據(jù)時結(jié)束。如果用戶20分鐘內(nèi)沒有使用計算機的動作,session也會自動結(jié)束。php處理session的應(yīng)用架構(gòu)會話劫持會話劫持是指者利用各種來獲取目標用戶的sessionid。一旦獲取到sessionid,那么者可以利用目標用戶的來登錄,獲取目標用戶的操作權(quán)限。1):嘗試各種sessionid,直到為止計算:如果sessionid使用竊取:使用網(wǎng)絡(luò)截獲,xss等方法獲會話劫持的步實if{$link=mysql_connect("localhost","root",ordie("無法MySQL數(shù)據(jù)庫連接:mysql_error());mysql_select_db("cms")ordie("無法選擇MySQL數(shù)據(jù)庫if{$query="select*frommemberwhereusername=’". "’andpassword=’".addslashes($_POST["password"]).}{$query="select*frommemberwhereusername=’".$_POST["username"]"’andpassword=’".$_POST["password"].}$result=ordie("MySQL查詢語句失敗:$match_count=mysql_num_rows($result);if($match_count){$_SESSION["username"]=$_SESSION["password"]=$_SESSION["book"]=1; }//Session訪客的SessionID是:<?phpechosession_id訪客:<?phpechohtmlspecialchars($_GET["user"],ENT_QUOTES);book商品的數(shù)量:<?phpechohtmlspecialchars($_SESSION["book"],ENT_QUOTES);$_SESSION["username保存賬$_SESSION["password#_SESSION["book"]保存商品數(shù)//Sessionecho目標用戶SessionID是:session_idbrecho目標用戶username是:$_SESSION["usernamebrechopassword是:$_SESSION["passwordbr//book的數(shù)量設(shè)置$_SESSION["book"]=提交此ID為獲取session固定可以使用把sessionid發(fā)給用戶的然 者 防范方法session函數(shù)boolsession_regenerate_id([boolindex.php開頭加2)更改session的名稱session的默認名稱是PHPSE,此變量會保存在 中,如果不抓包分析,就不能猜到這個session透明化sessionid指當瀏覽器中的http請求沒有使用 s來制定sessionid時,sessioinid使用來傳遞;打開php.ini,編輯session.use_trans_sid=int_set("session.use_trans_sid",0); session.use_s=1表示使 s存放sessionsession.use_only_s=1表示只使用 s存放sessionid,這可以避免session固定 int_set("session.use_only_s",1);p>5)使用URL傳遞隱藏參數(shù)$seid=md5(uniqid(rand()),$_SESSION["seid"]=否是web程序自己調(diào)用的。PHP漏洞全解(八)-HTTP響應(yīng)拆分HTTP請求的格式/面例子發(fā)送HTTP請求給服務(wù)器GET/index.phpHTTP/1.1↙ //↙↙符號表示回車鍵,在空白行之后還要在按一個空格才會發(fā)送HTTP請求,HTTP請求的表頭中只Host表頭是必要的餓,其余的HTTP表頭則是根據(jù)HTTPHTTP請求的方法HEAD:與GETPOST:發(fā)送數(shù)據(jù)給服務(wù)器處理,數(shù)據(jù)包含在HTTPOPTIONS:返回服務(wù)器所支持的HTTP請求CONNECT:將HTTP請求的連接轉(zhuǎn)換成透明的TCP/IP通HTTP響應(yīng)的格式服務(wù)器在處理完客戶端所HTTP請求后,會發(fā)送下列響應(yīng)HTTP/1.1200HTTP請求和響應(yīng)的例子打開cmd輸 net,輸入 GET/index.php↙返回HTTP響應(yīng)的表PHP來發(fā)送HTTP請求voidheader(stringstringboolreplaceinthttp_response_code]])string是HTTP表頭的字符串為http_response_codeHTTP響應(yīng)碼使用http_response_code的值//Internetsocket連$fp= HTTPfputs($fp,"GET/HTTP/1.1\r\n");fputs($fp,"Host: while{//256位的HTTP響應(yīng)字符}//Internetsocket連HTTPechoHTTP響應(yīng)拆分HTTP響應(yīng)拆分是由于者經(jīng)過精心設(shè)計利用電子郵件或者,讓目標用戶利用一個請求產(chǎn)生兩個響應(yīng),前一個響應(yīng)是服務(wù)器的響應(yīng),而后一個則是者設(shè)計的響應(yīng)。此之所以會發(fā)生,是因為WEB程序?qū)⑹褂谜叩臄?shù)據(jù)置于HTTP響應(yīng)表頭中,這些使用者的數(shù)據(jù)是有者精心設(shè)計的。可能HTTP請求響應(yīng)拆分的函數(shù)包括以下幾個 HTTP響應(yīng)拆分通常發(fā)生在:Set-表頭:將使用者的數(shù)據(jù)寫入 header("Location:".GET/location.php?page=h Host:localhost↙HTTP/1.1302Date:Wed,13Jan201003:44:24Server:Apache/2.2.8(Win32)PHP/5.2.6X-Powered-By:PHP/5.2.6Location:hContent-Length:0Keep-Alive:timeout=5,max=100Connection:Keep-AliveContent-Type:.Content-Typetext/htmlH
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024《承包廚房合同》
- 2024年20xx智慧城市建設(shè)項目合同
- 2024獵頭合同模板(標準版)
- 2024年工程質(zhì)量保證與維護合同
- 2024年品牌代理合同
- 2024材料合同范文
- 2024常用版代理買賣合同樣本
- 2024補償貿(mào)易供電合同
- 2024年安防系統(tǒng)檢修協(xié)議
- 2024-2025學(xué)年新教材高中歷史第6單元辛亥革命與中華民國的建立第19課辛亥革命學(xué)案新人教版必修中外歷史綱要上
- 《草船借箭》教學(xué)案例(5篇)
- 房屋租賃運營服務(wù)投標方案(技術(shù)方案)
- 第三章地圖數(shù)學(xué)基礎(chǔ)
- 人教部編版語文四年級上冊第四單元同步練習(xí)及答案
- 初中地理質(zhì)量分析
- 家長會課件:陪伴的家長會課件
- 煤礦井下水力壓裂增透抽采技術(shù)
- 大班健康PPT課件之《均衡飲食最健康》
- 談鐵路企業(yè)安全文化建設(shè)
- 農(nóng)機修理工考試農(nóng)機修理中級工試卷(農(nóng)機修理工考試)
- 美國人才引進的政策機制
評論
0/150
提交評論