日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

网安之php开发第十四天

發布時間:2024/3/13 php 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网安之php开发第十四天 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#知識點:

1、PHP-全局變量$_SERVER

2、MYSQL-插入語法INSERT

3、輸入輸出-XSS_x0005_&反射&存儲

4、安全問題-XSS跨站&CSRF等

演示案例:

?小迪博客-輸入輸出&留言板&訪問獲取

?墨者靶場-IP地址偽造來源&來源頁偽造

先說一下這個輸入輸出引發的反射型xss和儲存型xss

把源碼寫好在瀏覽器打開,就可以模擬輸入輸出(相當于利用查詢語句查詢數據庫里面的東西)。然后當我們輸入一個正常的東西,比如我們輸入1,他就會查詢到后面的pxy之類的。這些都很正常,但是當我們輸入一個js語句之后,你會發現事情變得不一樣了。

?

比如我們輸入<script>alert(1)</script>,他就會執行這個js代碼,所以輸出的你搜索的“”內容如下這句話,雙引號里面沒有東西是空的。因為他執行了。從而出現個彈窗。也就是說輸入的代碼可以控制網站的顯示。因此當我們能夠控制網站的顯示也就代表了漏洞的產生。而執行js代碼就屬于xss漏洞(有一句話說的好,叫見縫就x)這個屬于反射型xss,也是短期的。

?

注解:XSS

cross site script,跨站腳本攻擊(關鍵字:腳本)。為了與 css 沖突取名為 xss!XSS攻擊的核心原理是:不需要你做任何的登錄認證,它會通過合法的操作(比如在url中輸入、在評論框中輸入),向你的頁面注入腳本(可能是js、hmtl代碼塊等)。

惡意攻擊者往Web頁面里插入惡意Script代碼,當用戶瀏覽該頁之時,嵌入其中Web里面的Script代碼會被執行,從而達到惡意攻擊用戶的目的。

?

有短期也就有長期,那也就是儲存型xss,當我們去留言去評論。比如我上一分鐘留下的言,你下一分鐘刷新就可以看到我的留言。這里面涉及兩個動作,一個是留言,一個是刷新。也對應著數據庫的寫入和查詢,也就是insert和select。當你留言之后會,留言的內容會保存到數據庫或則可以保存的文件等。因此每一次刷新就會select查詢一次。那如果把js語句當作留言內容。就會儲存到數據庫中。當我們沒刷新一次就會彈窗一次。這個就是儲存型xss。他是持久型的,危害是比反射性xss大的。

?

然后說一下php的全局變量$_SERVER,直接上圖。內容不全,自己可以去網上搜。

這些全部都是用來獲取訪問者的信息以及服務器的一些信息。

就比如這個$_SERVER['HTTP_USER_AGENT'] #當前請求的 User_Agent: 頭部的內容。你就可以通過它獲取到ua頭。然后去網上看看與之相關的信息。

?

還有一個就是通過這個超全局變量獲取到ip地址,下面是源碼。至于為啥會存在這么多行,都是if嵌套的,是因為它需要判斷你有沒有代理之類的。

那你可能會問講這個有啥用。下面舉個例子。

?

?

?

?

?

?

?

?

就是站長之家的ip查詢,正常情況下,他的ua頭是下面的內容

?

但是當你通過抓包,修改ua頭里面的信息之后就會發現不一樣。(不要忘了弄證書,不然抓不到https的包。具體就是把瀏覽器設置代理之后,訪問http://burpsuit。就可以下載證書了。我這個方法可行,在網上找的有的方法不太行)

?

這里把ua頭里面的信息改成123,就會顯示這樣。如果把123改成個跨站語言。那就是個典型的反射性xss了。本來是可以插入js代碼的。但是被人提交漏洞了,現在這個地方被過濾了,不可以插入js代碼了。這就是個ua欺騙,觸發xss。

這也說明了一個問題,根據網站的功能去看它相應的漏洞。就比如這個ip查詢,是個接口類的查詢的功能行動應用。他的源碼肯定有接受的地方,就像上面的那個代碼,查ip的,查ua頭的,他肯定是要接受才可以給你返回信息。那也就對應著那個輸入輸出的東西了。而網站為啥要接受瀏覽器信息呢。因為有安卓有pc,顯示的版面不太一樣。

因此根據網站的接收功能,他的接受功能越多,那對應的漏洞隱患也就越大。反之越少。

?

?

還有一個就是$_SERVER['HTTP_REFERER']

鏈接到當前頁面的前一頁面的 URL 地址。也就是從哪里跳轉過來的,就會顯示上一個頁面的url地址。

在我們實際場景中。比如你訪問個網站,網站提示來源非法,未知地址之類的,就不讓你訪問。這時候你就要從他的源去訪問,而這個$_SERVER['HTTP_REFERER']就是獲取來源的url地址。下面講個來源頁偽造,就是跟這相關的,其實也就是Referer偽造。

開啟靶場后,正常訪問,提示只能從谷歌訪問這個地址,就是$_SERVER['HTTP_REFERER']它搞得鬼,會獲取來源。

解決方法也很簡單,用burp抓包,把referer對應的地址改成谷歌就行了。

這是原本的:

這是改之后的:

然后就得到了key:

?

?

上面我們說了真實情況下有的網站會提示來源非法,因為這些網站會檢測referer。而這個檢測主要是防CSRF攻擊的。

下面說一下這個CSRF:

如果上圖中的網站沒有檢測來源,那么就會讓攻擊者通過提前植入的js代碼獲得到管理者的管理權限或則獲取到后臺源代碼之類的。

下面說個例子:

用一個賬號向自己的支付寶付款,上面的是付款鏈接。當你打開博客的時候就會觸發訪問這個付款數據包。如果支付寶沒有檢測來源的話。那么直接就付款了。

這個就是CSRF攻擊。

?

注解:跨站請求偽造(英語:Cross-site request forgery),也被稱為 one-click attack 或者 session riding,通常縮寫為 CSRF 或者 XSRF, 是一種挾制用戶在當前已登錄的Web應用程序上執行非本意的操作的攻擊方法。跟跨網站腳本(XSS)相比,XSS 利用的是用戶對指定網站的信任,CSRF 利用的是網站對用戶網頁瀏覽器的信任。

?

?

?

?

?

再說一個案例。IP地址偽造的:

先利用弱口令登錄,比如admin admin。登上去發現IP受限制

而像這個網站收集ip信息,一般有兩種情況,一是收集ip做一些統計或干其他的事情。還有一個就是做ip限制。比如一些服務器為了安全,只讓本地的ip去登陸,其他的ip做限制。這樣就可以過濾一些攻擊,就算你得到賬號密碼,但是ip做限制,還是不行的。像這個網站獲取IP,一般都是源碼去獲取

我們上面講過一個源碼獲取ip的圖。里面有個HTTP_X_FORWARDED_FOR,我們就可以通過HTTP_X_FORWARDED_FOR偽造來解題。

注解:$_SERVER[”HTTP_X_FORWARDED_FOR”] #透過代理服務器取得客戶端的真實 IP 地址

通過抓包,把X_FORWARDED_FOR對應的值改成本機地址,就可以偽造。讓服務器以為本機登錄。

最后就得到了key

(這個是小迪老師的截圖,我用burp抓到的包沒有x-forwarded這一欄,我在下面加入進去,結果網站一直轉圈圈,直接gg)

在真實情況下就對應著ip受限制的話,你就可以試著x-forwarded偽造,在數據包中進行修改。但如果對方不接收這個值,也就是說不以這個值為準的話。那就沒辦法了,其他地方也不能進行偽造。只有它可以。但是一般都會用我上面圖片的那個代碼去接收,因為要保證ip的準確性。

這種IP限制走到是php代碼本身去判定,還有一種IP限制是tcp協議的IP限制,就是計算機上面用到的一些IP限制。而只有這個php代碼里面的這個x-forwarded是可以偽造的,并且網站也是接受這個值的。也就可以實現繞過。其他的就不太行了。就像這個電腦的或則服務器的ip限制,他的判定方式是走的底層協議,是繞過不了的。

?

總結

以上是生活随笔為你收集整理的网安之php开发第十四天的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。