国产成人毛片毛片久久网_国产午夜激无码av毛片不_国产乱对白精彩在线播放_av资源站中文字幕_亚洲男人的天堂网站_国产成 人 综合 亚洲网_中国国产激情一区_少妇一级淫片免费放_亚洲一本大道av久在线播放_免费观看美女裸体网站

行業(yè)動態(tài)

防御吧作為15年知名老牌域名服務商,CNNIC和CANN雙認證域名注冊商,已經(jīng)
持續(xù)為500多萬個域名提供服務,包括智能DNS/自由轉(zhuǎn)移/隱私保護等服務!
黑客比普通程序員高在哪里?
2019-09-03 11:25:40 【

假設今天老板給我們一個任務,讓我們判斷一下一個 IP 在不在線。我們隨手用 python 寫一個 ping IP 的代碼:

import os
host = input('請輸入要檢測的 IP : ')
result = os.popen('ping -c 1 -t 1 %s' % (host)).read()
if 'ttl' in result:
print('IP 在線')
else:
print('IP 不在線')



現(xiàn)在,你作為一名審核代碼的人員,不考慮代碼整體結(jié)構(gòu)問題,不考慮為什么寫這段代碼的程序員用ping,用popen,你能看出什么問題嗎?

如果看不出的話,想兩個問題:

  1. popen 的本質(zhì)是什么?如果你不知道或者沒有用過popen,試著不要去查,猜一下這個函數(shù)的作用。

  2. 在這段程序中,popen 要執(zhí)行的命令是什么?

既然 popen 后面執(zhí)行的語句中的 host 變量是由用戶輸入的,那惡意用戶是不是可以輸入一個localhost && whoami 呢?這樣 popen 執(zhí)行的代碼就變成了 ping -c 1 -t 1 localhost && whoami。注意,就算上述例子中沒有將運行結(jié)果直接打印出來,但沒打印出來并不代表代碼沒有運行。例如如果我直接輸入 host 為 localhost && whoami的話,輸出結(jié)果還是 IP 存在, 但這并不代表 whoami 命令沒有運行,我們依舊可以建立一個 Reverse Shell。為了驗證結(jié)果,我們在代碼里面讓 result 被打印出來。



這一項技巧叫做 命令注入(Command Injection),普通的程序員如果不是遇到了這類問題,應該是不會接觸到這項技巧的,看見上面的漏洞代碼也會覺得沒什么問題,最多覺得有點不順眼,但能第一時間反應出有安全漏洞的是占少數(shù)的。

這項技巧聽起來好像很簡單,比逆向,提權(quán)那些簡單很多,但這項技巧是富有創(chuàng)造性的,下限很低,上限很高。

比如我們現(xiàn)在知道了存在上面這個問題,那么在輸入階段把一些關(guān)鍵字過濾一下總可以了吧。在這個問題中,我們想讓用戶輸入的是一個 IP ,那就直接過濾掉空格吧,正常 IP 里面總不可能有空格吧。

再把 &, ;, -,||,| 也過濾掉吧,萬無一失。

import os
host = input('請輸入要檢測的 IP : ')
forbidden = ['&', ';', '-', ' ', '||', '|']
for i in forbidden:
if i in host:
print('Catch you')
exit()
result = os.popen('ping -c 1 -t 1 %s' % (host)).read()
if 'ttl' in result:
print('IP 在線')
else:
print('IP 不在線')

真的萬無一失嗎?

我們在 /tmp 目錄下新建一個 exp.sh, 在里面輸入我們想執(zhí)行的命令,在這個例子中我們輸入 whoami。然后 chmod +x exp.sh 賦予執(zhí)行權(quán)限,再通過 $(./exp.sh) 就可以繞過黑名單過濾了。



這是一個非常簡單的例子,但卻可以說明黑客比程序員高在什么地方。我認為高在對漏洞的敏感程度和創(chuàng)造力上。提高漏洞的敏感程度需要花大量的時間在 CVE ,黑客論壇等地方,而提高創(chuàng)造力則完全只能靠天賦和運氣了。

也許你會覺得對于上面這個例子,你有很多種辦法可以避免。首先我承認這個例子是我臨時想的,很不好,但也請注意我的這個例子非常簡單且不成熟。在現(xiàn)實的紅藍戰(zhàn)場上,以 SQL 注入為例,都那么多年了,能完全避免的了嗎?記得今年年初暗網(wǎng)暴露的 Collection 數(shù)據(jù)庫集合,1000g 的各種被注入的數(shù)據(jù)庫,涉及全球各種論壇,甚至包括某些銀行,某些人口統(tǒng)計局,某些政府機構(gòu)。代碼思路是有限的,創(chuàng)造力是無限的。


】【打印關(guān)閉】 【返回頂部
分享到QQ空間
分享到: 
上一篇MySQL 高性能優(yōu)化實戰(zhàn)總結(jié) 下一篇企業(yè)在建設網(wǎng)站時應該做哪些安全..

立足首都,輻射全球,防御吧專注云防御及云計算服務15年!

聯(lián)系我們

服務熱線:13051179500 18910191973
企業(yè)QQ:1245940436
技術(shù)支持:010-56159998
E-Mail:xihedata.com
Copyright ? 2003-2016 fangyuba. 防御吧(完美解決防御與加速) 版權(quán)所有 增值許可:京B2-20140042號
售前咨詢
公司總機:18910191973
24小時電話:010-56159998
投訴電話:18910191973
值班售后/技術(shù)支持
售后服務/財務
備案專員
緊急電話:18610088800