精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

【干貨】Python自動化審計及實現

開發 后端 自動化
Python由于其簡單,快速,庫豐富的特點在國內使用的越來越廣泛,但是一些不好的用法卻帶來了嚴重的安全問題,本文從Python源碼入手,分析其語法樹,跟蹤數據流來判斷是否存在注入點。

[[197554]]

Python由于其簡單,快速,庫豐富的特點在國內使用的越來越廣泛,但是一些不好的用法卻帶來了嚴重的安全問題,本文從Python源碼入手,分析其語法樹,跟蹤數據流來判斷是否存在注入點。

0x01 引言

Python注入問題是說用戶可以控制輸入,導致系統執行一些危險的操作。它是Python中比較常見的安全問題,特別是把python作為web應用層的時候這個問題就更加突出,它包括代碼注入,OS命令注入,sql注入,任意文件下載等。

0x02 注入的場景

主要是在web應用場景中,用戶可直接控制輸入參數,并且程序未做任何參數判斷或者處理,直接就進入了危險函數中,導致執行一些危險的操作。主要的注入類型有:

(一)OS命令注入

主要是程序中通過Python的OS接口執行系統命令,常見的危險函數有

os.system,os.popen,commands.getoutput,commands.getstatusoutput,subprocess

等一些接口。例如:def myserve(request,fullname):os.system('sudo rm -f %s'%fullname),fullname是用戶可控的,惡意用戶只需利用shell的拼接符;就可以完成一次很好的攻擊。

(二)代碼注入

是說在注入點可以執行一段代碼,這個一般是由python的序列話函數eval導致的,例如:def eval_test(request,login):login = eval(login),如果惡意用戶從外界傳入import('os').system('rm /tmp -fr')就可以清空tmp目錄。

(三)Sql注入

在一般的Python web框架中都對sql注入做了防護,但是千萬別認為就沒有注入風險,使用不當也會導致sql注入。例如:

def getUsers(user_id):sql = ‘select * from auth_user where id =%s’%user_idres = cur.execute(sql)

(四)任意文件下載

程序員編寫了一個下載報表或者任務的功能,如果沒有控制好參數就會導致任意文件下載,例如:def export_task(request,filename):return HttpResponse(fullname)

0x03 判斷原理

從以上四種情況來看,都有一個共同點,那就是危險函數中使用了可控參數,如system函數中使用到的('sudo rm -f %s'%fullname),如eval中使用到的login參數,如execute函數中使用到的user_id參數,如HttpResponse中使用到的fullname參數,這些參數直接從函數中傳進來,或者經過簡單的編碼,截斷等處理直接進入危險函數,導致了以上危險行為。如果在執行危險函數前對這些可控參數進行一定判斷,如必須是數字,路徑必須存在,去掉某些特殊符號等則避免了注入問題。 有了這個基礎理論,這個參數數據在傳遞的過程中到底有沒有改變?怎么順利的跟蹤可控參數呢?接下來分析Python的語法樹。

0x04 Python語法樹

很顯然,在參數不停傳遞過程中,普通的正則表達式已經無能為力了。這個時候就可以體現Python庫豐富的特點。Python官方庫中就提供了強大的Python語法分析模塊ast。我們可以利用根據ast優化后的PySonar模塊,PySonar相對于ast模塊而言有性能上的提升,另外是以Python的dict來表示的。

(一)語法樹的表示-文件

一個文件中可以有函數,類,它是模塊的組成單位。大體結構如下:{"body":[{},{}],"filename":"test.py","type":"module"},這是文件test.py得到的語法樹結構,body里面包含兩個dict,實際里面會存放函數,類,全局變量或者導入等,它是遞歸嵌套的,type字段表明類型,在這里是模塊,filename則是它的文件名。

(二)語法樹的表示-函數

函數的作用就不用多說了,django的view層基本都是以函數為單位的。下面來看一個函數的語法樹,如圖:

我們簡單分析一下這個結構,首先是type,這里是FunctionDef,說明這個結構體是一個函數,_fields中的name,args,body,decorator_list等是函數的基本組成單位。name是函數名稱,上述函數名為is_this_subdomain;args是函數的參數,它包含普通參數args,默認參數kwarg;lineno是標明該語句所在的文件的行數;decorator_list則是函數的修飾器,上述為空。

(三)語法樹的表示-類

在類的語法樹中,包含body,decorator_list,lineno,name,base等字段type是ClassDef,表明該結構為class,body中則包含著函數的結構體,base則是繼承的父類。

(四)語法樹的表示-示例

接下來我們將以一個if結構片段代碼作為示例,來解釋Python源碼到其語法樹的對應關系。片段代碼:if type not in ["RSAS", "BVS"]:return HttpResponse("2"),得到的語法樹如圖2:

在這個語法樹結構中,body里包含著if結構中的語句return HttpResponse("2"),type為Compare表示該結構體為判斷語句,left表示左值即源碼中的type,test結構體中則是用來進行if判斷,test中的ops對應著源碼中的not in,表示比較判斷,comparators則是被比較的元素。這樣源碼就和Python語法樹一一對應起來,有了這些一一對應的基礎,就有了判斷Python注入問題的原型。

0x05 注入判斷的實現

注入判斷的核心就在于找到危險函數,并且判斷其參數是可控的,找到危險函數這個只需要維護一個危險函數列表即可,當在語法樹中發現了函數調用并且其名稱在危險列表中就可以標記出該行代碼,接下來的難點就在于跟蹤該函數的參數,默認認為該危險函數的外層函數的參數是可控的,那就只需要分析這個外層函數參數的傳遞過程即可。首先分析哪些情況下,從一個參數賦值給另外一個參數其值還是可控的,下面列舉了5中基本情況:

(1)屬性取值:對一個變量取屬性,比如request的GET,POST,FILES屬性,屬性的屬性還是可控的,但是request的其他字段如META,user,session,url則得排查開外。 (2)字符串拼接:被拼接的字符串中包含可控參數,則認為賦值后的值也是可控的,需要考慮好各種拼接情況,如使用+,%等進行拼接。 (3)分片符取值:一般認為分片后的值也是可控的。 (4)列表解析式,如果列表解析式基于某個可控因子進行迭代,則認為賦值后的列表也是可控的。 (5)簡單的函數處理:a,處理函數是字符串操作函數(str,unicode,strip,encode等);b,簡單的未過濾函數,也就是說這個函數的返回參數是可控的。

對外層函數中的所有代碼行進行分析,判斷是否是賦值類型,如果賦值類型的操作屬于以上五種情況中任意一種,則將該賦值后的值放入可變參數列表中,具體的流程如圖3:

另外在分析的過程中還得排除下列情況,提前結束分析。第一種情況是 if語句中有os.path.exitst,isdigit帶可控參數并且含有return語句,如(if not os.path.isdir(parentPath):return None);第二種情況是將可控參數鎖定在某個定值范圍并直接返回的,如(if type not in ["R", "B"]:return HttpResponse("2"))。

0x06 結束語

對Python源碼實現注入問題的自動審查,大大降低了人為的不可控性,使代碼暴露出來的漏洞更少。當然目前來說這個模塊還是有一定局限性,對類的處理不夠充分,沒有分析導入的函數對屬性的取值也不夠細分等問題。 

責任編輯:龐桂玉 來源: 馬哥Linux運維
相關推薦

2015-06-03 09:07:46

白盒審計PHPPHP自動化審計

2022-12-01 09:12:49

CodeQL自動化審計

2023-12-25 09:52:32

2017-04-10 12:25:32

iOS自動化測試

2010-03-03 16:36:02

Python PAMI

2020-03-18 09:23:24

Python數據SQL

2018-05-10 15:54:39

2015-10-21 15:08:25

電纜自動化

2016-04-12 10:18:19

代碼審計自動化代碼審計工具

2022-07-05 08:26:10

Python報表自動化郵箱

2017-12-17 21:58:18

2024-06-11 10:41:14

2019-10-31 09:59:36

大數據Hadoop大數據集群

2009-09-04 13:55:04

C#文檔自動化

2018-08-31 09:55:38

Ansible網絡自動化

2023-02-15 08:21:22

2023-04-06 07:09:25

自動化部署Actions

2022-11-15 17:07:40

開發自動化前端

2010-09-27 09:13:36

Visual Stud

2021-01-28 10:28:33

云計算基礎設施自動化IT
點贊
收藏

51CTO技術棧公眾號

亚洲综合专区| 电影中文字幕一区二区| 国产日韩三级在线| 国产拍精品一二三| 久久精品国产亚洲AV无码男同 | 四虎精品一区二区| 欧美日韩在线精品一区二区三区激情综合| 自拍视频在线观看一区二区| 国产伦理久久久| 国产偷人爽久久久久久老妇app| 亚洲电影影音先锋| 亚洲女在线观看| 丰满少妇一区二区三区专区| 92国产精品| 一区二区高清视频在线观看| 日韩国产欧美一区| 日日躁夜夜躁白天躁晚上躁91| 日本视频在线一区| 国内外成人免费激情在线视频网站| 久久国产柳州莫菁门| 亚洲精品福利| 91精品国产综合久久久蜜臀粉嫩 | 四虎884aa成人精品| 欧洲亚洲成人| 日韩免费观看高清完整版 | 成人亚洲免费| 日韩欧美视频一区二区三区| 国内自拍中文字幕| 免费在线看黄色| 国产亚洲精久久久久久| 国产欧美欧洲| 亚洲国产综合网| 精品影院一区二区久久久| 国产成人涩涩涩视频在线观看| 久久久精品视频在线| 久久亚洲影视| 色yeye香蕉凹凸一区二区av| 亚洲一区二区三区综合| 77成人影视| 日韩视频免费观看高清完整版在线观看| 又色又爽又高潮免费视频国产| 99爱在线观看| 亚洲国产乱码最新视频| 少妇久久久久久被弄到高潮| 麻豆视频在线| 亚洲欧洲一区二区在线播放| 欧美亚洲另类久久综合| 亚洲AV第二区国产精品| jizz一区二区| 久久久久久久久一区| 无码精品视频一区二区三区 | 在线欧美小视频| 日韩黄色片视频| 亚洲国产欧美日本视频| 精品久久香蕉国产线看观看亚洲| 成品人视频ww入口| 丁香花在线影院| 欧美日韩美女在线| 日本黄色三级大片| 88xx成人网| 制服丝袜av成人在线看| 午夜免费福利网站| 99精品国产高清一区二区麻豆| 日韩视频永久免费| 99久久久无码国产精品性波多| 成人精品动漫一区二区三区| 亚洲成人网av| 中文字幕在线观看网址| 免费欧美一区| 色视频www在线播放国产成人| www.黄色com| 欧美成人一品| 性亚洲最疯狂xxxx高清| 三级网站在线播放| 久久精品99国产精品日本| 成人精品久久久| 欧美一级淫片aaaaaa| 久久综合九色综合97婷婷女人 | 醉酒壮男gay强迫野外xx| 欧美精品第一区| 日韩日本欧美亚洲| 久久久久久久久久综合| 欧美亚洲一区| 国产美女久久精品| 成人午夜免费在线观看| 97se亚洲国产综合自在线不卡| 日本黑人久久| a天堂中文在线官网在线| 亚洲成人精品一区| 男女视频一区二区三区| 欧美影院在线| 亚洲精品影视在线观看| 色欲一区二区三区精品a片| 在线成人欧美| 国产精品普通话| 亚洲精品国产精| 国产欧美中文在线| 精品一二三四五区| 国产美女久久| 日韩av在线一区| 日韩欧美国产成人精品免费| 性感少妇一区| 91在线看网站| jizz在线观看中文| 欧美日韩国产综合新一区 | 91婷婷韩国欧美一区二区| 亚洲在线不卡| 国产高清不卡| 亚洲成人教育av| 成人免费视频网站入口::| 99热精品在线观看| 3d蒂法精品啪啪一区二区免费| 飘雪影院手机免费高清版在线观看| 日韩毛片在线免费观看| 日韩毛片在线免费看| 天堂va欧美ⅴa亚洲va一国产| 国产一区二区三区三区在线观看| 国产无遮挡又黄又爽在线观看| 日本sm残虐另类| 久久婷婷国产综合尤物精品| 中文字幕在线播放网址| 欧美羞羞免费网站| 天天插天天射天天干| 欧美精品国产一区| 成人激情春色网| 岛国最新视频免费在线观看| 调教+趴+乳夹+国产+精品| 无码人妻丰满熟妇区毛片蜜桃精品| 成人羞羞视频播放网站| 日韩免费精品视频| 日韩a级作爱片一二三区免费观看| 一区二区三区欧美视频| 热久久久久久久久| 色中色综合网| 国产美女久久精品香蕉69| 国产三级电影在线观看| 欧美性生活大片免费观看网址| 麻豆短视频在线观看| 欧美a级在线| 91深夜福利视频| 含羞草www国产在线视频| 欧美巨大另类极品videosbest | 欧美一乱一性一交一视频| 高h放荡受浪受bl| 一区二区三区.www| 亚洲AV无码久久精品国产一区| 欧美电影免费| 成人激情电影一区二区| xvideos国产在线视频| 91麻豆精品国产91久久久久 | 韩日在线视频| 色婷婷国产精品| 3d动漫精品啪啪一区二区下载| 亚洲女同在线| 日本不卡久久| 福利一区视频| 菠萝蜜影院一区二区免费| 国产精品高潮呻吟AV无码| 中文字幕日韩一区| 捷克做爰xxxⅹ性视频| 欧美/亚洲一区| 国产精品区一区| 日韩激情电影免费看| 亚洲老板91色精品久久| 蜜臀99久久精品久久久久小说| 国产亚洲成年网址在线观看| www.久久91| 欧美人成在线| 欧美成人免费在线| 粉嫩91精品久久久久久久99蜜桃 | 手机av在线看| 国产成人精品亚洲777人妖| 日韩欧美精品免费| 蜜桃一区二区| 国产精品日日摸夜夜添夜夜av| 青青青青在线| 337p日本欧洲亚洲大胆精品| 国产精品免费精品一区| 国产精品久久久久一区二区三区| 黄色aaaaaa| 亚洲毛片在线| 亚洲 国产 日韩 综合一区| 国产欧美88| 97在线视频免费| 91精品国产综合久久久久久豆腐| 69p69国产精品| 亚洲另类欧美日韩| 国产精品免费久久| 看全色黄大色黄女片18| 日韩和欧美的一区| 日韩精品久久一区二区| 国产成人av| 99久久国产免费免费| 成人福利av| 欧美疯狂性受xxxxx另类| 三级在线视频| 欧美成人性战久久| 伊人中文字幕在线观看 | 日本天堂网在线| 亚洲欧洲精品天堂一级| 欧美大片免费播放器| 久久福利资源站| 91av资源网| 亚洲午夜在线| 亚洲午夜精品久久| 色天下一区二区三区| 91免费国产网站| 欧美最新精品| 久久免费国产精品1| 在线观看麻豆| 亚洲美女在线视频| 亚洲乱色熟女一区二区三区| 欧美亚州韩日在线看免费版国语版| 国产精品成人久久| 亚洲女同ⅹxx女同tv| 人妻少妇无码精品视频区| 成人午夜av在线| 在线观看日本www| 免费成人在线视频观看| 欧美日韩在线一| 欧美日韩国产亚洲一区| 亚洲一区二区三区免费观看| 久操国产精品| 九九99久久| 大型av综合网站| 亚洲伊人久久综合| 四虎影视成人精品国库在线观看| 日本视频久久久| 天堂电影一区| 97国产精品视频| 好看的中文字幕在线播放| 久久中国妇女中文字幕| 在线观看麻豆| 日韩中文字幕在线观看| www免费网站在线观看| 亚洲免费视频在线观看| 四虎在线免费看| 亚洲国产精品久久| 色婷婷av一区二区三| 亚洲成avwww人| 国产小视频免费观看| 日韩一区二区精品葵司在线| 国产又黄又粗又硬| 欧美高清视频不卡网| 亚洲专区在线播放| 欧美日韩高清影院| 国产一区二区三区视频免费观看| 欧美无人高清视频在线观看| 久草视频在线免费| 欧美色倩网站大全免费| 中文字幕乱码无码人妻系列蜜桃| 色94色欧美sute亚洲线路一久| www.久久精品视频| 色欧美日韩亚洲| 在线免费观看一级片| 欧美男女性生活在线直播观看| 亚洲午夜激情视频| 在线不卡a资源高清| 国产色片在线观看| 精品国产伦理网| 日本又骚又刺激的视频在线观看| 国产视频精品在线| 成人在线免费观看| 日韩中文第一页| 日韩精品卡一| 69国产精品成人在线播放| 久久毛片亚洲| 成人性生交大片免费观看嘿嘿视频| 国产精品一区二区三区www| 成人在线免费观看一区| 久久香蕉精品香蕉| 日本一区免费看| 久久久久国产精品| 东北少妇不带套对白| 性娇小13――14欧美| 九九精品久久久| 成人动漫一区二区三区| 亚洲精品视频久久久| 中文字幕一区二区三中文字幕| 久久久久久久极品内射| 欧美性猛交xxxx黑人| 在线观看免费高清视频| 精品成人一区二区| 国产高清一区在线观看| 久热在线中文字幕色999舞| 国产一二三在线| 国产精品永久在线| 波多野结衣欧美| 亚洲国产精品一区二区第一页| 欧美啪啪一区| 在线观看的毛片| 成人丝袜18视频在线观看| 久久久久久国产免费a片| 亚洲黄色免费网站| 久久久久久久亚洲| 日韩西西人体444www| 黄色片在线播放| 欧美韩日一区二区| av亚洲一区| 国产美女99p| 一本一道久久a久久精品蜜桃| 春日野结衣av| 成人性色生活片| 亚洲熟女少妇一区二区| 欧美日韩激情小视频| 国产片高清在线观看| 亚洲少妇中文在线| 丰满诱人av在线播放| 国产在线98福利播放视频| 天堂av一区二区三区在线播放| 自拍另类欧美| 日韩不卡在线观看日韩不卡视频| 91精品又粗又猛又爽| 亚洲欧洲av色图| 免费精品一区二区| 日韩av中文字幕在线| 日韩特级毛片| 91深夜福利视频| 欧美韩日一区| 丰满少妇在线观看| xnxx国产精品| 天天插天天操天天干| 欧美刺激脚交jootjob| 欧洲不卡av| 国产精品亚洲精品| 激情综合网站| 热久久精品国产| 久久综合丝袜日本网| 精品久久免费视频| 日韩欧美国产电影| 18网站在线观看| 91天堂在线视频| 天天射成人网| 色91精品久久久久久久久| 中文字幕乱码日本亚洲一区二区| 中文字幕在线播| 亚洲片在线资源| 午夜日韩成人影院| 日本一区二区在线视频| 免费欧美在线| 国产亚洲精品熟女国产成人| 色综合色综合色综合 | 日韩一中文字幕| 国产精品久久久久77777丨| 欧美专区一二三| 日韩avvvv在线播放| 色噜噜噜噜噜噜| 欧美日韩国产综合一区二区| av中文字幕在线| 国产欧美日韩最新| 68国产成人综合久久精品| 午夜av中文字幕| 亚洲精品福利视频网站| www.综合色| 国模精品视频一区二区| 全球av集中精品导航福利| 中文字幕日本最新乱码视频| 91小视频在线| 日批视频免费观看| 日韩在线精品一区| 日韩欧美中文字幕一区二区三区 | 久热re这里精品视频在线6| 一卡二卡三卡四卡| 欧美色综合网站| 成人影院在线观看| 国产精品 日韩| 久久国产欧美| 强制高潮抽搐sm调教高h| 日韩欧美在线网站| www在线观看黄色| 日韩欧美国产二区| 国产一区二区三区在线看麻豆| 麻豆91精品91久久久| 日韩成人av在线播放| 电影一区电影二区| 色撸撸在线观看| 成人av中文字幕| 国内av在线播放| 毛片精品免费在线观看| 老牛国内精品亚洲成av人片| 四虎永久在线精品无码视频| 国产精品久久久久久福利一牛影视| 国产成a人亚洲精v品无码| 97超级碰碰碰| 偷偷www综合久久久久久久| 国偷自产av一区二区三区麻豆| 精品成人在线视频| 国产在线高清视频| 精品乱子伦一区二区三区| 日本在线不卡视频| 久久网一区二区| 这里精品视频免费| 精品素人av| 蜜桃福利午夜精品一区| 亚洲成人一区二区| 男人天堂久久久| 欧美人xxxxx| 国产·精品毛片| 一级黄在线观看| 日本伊人精品一区二区三区介绍|