精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产精品久久看| 久久99久久久| 91麻豆国产在线| www.爱久久| 综合色中文字幕| 国产精品www色诱视频| 成人在线观看毛片| 国产成人av免费| 亚洲精品推荐| 五月天中文字幕一区二区| 91高清视频免费观看| 大尺度在线观看| 午夜成年人在线免费视频| 日韩国产欧美一区二区| 久久青青草原亚洲av无码麻豆| 日本50路肥熟bbw| 免费在线小视频| 高清国产午夜精品久久久久久| 中文字幕日韩电影| 欧美日韩大尺度| 欧美色18zzzzxxxxx| 亚洲黄色影院| 亚洲成人激情图| 五月丁香综合缴情六月小说| 免费av一级片| 亚洲专区一区| 亚洲欧美在线看| 人妻内射一区二区在线视频| 免费在线黄色电影| 成人一级片网址| 国外成人性视频| 少妇精品一区二区| 爱情电影社保片一区| 26uuu精品一区二区| 欧美最猛性xxxxx(亚洲精品)| 大地资源二中文在线影视观看| 日韩电影精品| 一区二区三区在线视频观看58 | 一级日本在线| 欧美bbbbb| 亚洲欧美资源在线| 男人网站在线观看| 欧美成人性网| 1000部国产精品成人观看| 欧美日韩在线观看一区二区三区| 国产精品成人久久久| 亚洲永久免费| 欧美伊久线香蕉线新在线| 性猛交娇小69hd| 国产电影一区| 欧美日韩激情美女| 永久免费精品视频网站| 日本黄色不卡视频| 成人午夜精品在线| 国产伦精品一区二区三区高清版| 欧美 日韩 精品| 国产大片一区| 亚洲精品按摩视频| 中文字幕 91| www欧美xxxx| 国产精品无码永久免费888| 成人国产1314www色视频| 天天干天天干天天操| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美天天视频| 亚洲欧美日韩一区二区三区在线| 亚洲第一天堂久久| 国产v日韩v欧美v| 国产精品久久久久永久免费观看| 亚洲欧洲国产日韩精品| 日韩中文字幕影院| 日本va欧美va精品| 成人黄色影片在线| 免费av中文字幕| 好吊一区二区三区| 日韩在线观看网址| 播金莲一级淫片aaaaaaa| 国产aa精品| 精品欧美黑人一区二区三区| 狠狠操狠狠干视频| 惠美惠精品网| 欧美理论片在线| 欧美 日韩 国产 激情| 国产精品久久久久久吹潮| 午夜精品免费在线| 国语对白做受xxxxx在线中国 | 久久久久亚洲精品| 毛片基地在线观看| 欧美午夜久久| 欧美在线亚洲在线| 国产日韩欧美一区二区东京热| 快she精品国产999| 91av视频导航| 亚洲视频在线免费播放| 日韩电影在线一区二区三区| 欧美综合第一页| 在线免费av网| 成人精品小蝌蚪| 成年人在线视频免费观看| 国产乱码字幕精品高清av| 国产成人激情视频| 亚欧洲精品在线视频| 亚洲乱码精品| 久久精品视频网站| 天天操天天摸天天舔| 成人中文视频| 亚洲区免费影片| 成人免费精品动漫网站| 天天操综合网| 91av在线国产| 99国产精品一区二区三区| 2021国产精品久久精品| 欧美日韩国产综合视频在线| 爆操欧美美女| 一区二区成人在线| 日本熟妇人妻xxxx| 爱情岛亚洲播放路线| 欧美视频在线不卡| 亚洲精品综合在线观看| 亚洲第一福利专区| 久久久久女教师免费一区| 国产极品美女高潮无套嗷嗷叫酒店| 欧美激情偷拍| 国内精品久久久久| 国产乱码久久久| 国产不卡视频在线观看| 亚洲国产欧美日韩| 成人开心激情| 欧美狂野另类xxxxoooo| 国产黄片一区二区三区| 日韩欧美一区二区三区免费看| 97免费视频在线| 无码人妻精品一区二区三区9厂| 日韩国产在线观看一区| 国产自产在线视频一区| 免费在线性爱视频| 精品久久久久久中文字幕一区奶水 | 日韩欧美精品久久| 国产二区视频在线观看| 国产精品毛片a∨一区二区三区| 久久久亚洲精品无码| 免费电影日韩网站| 日韩精品免费看| 欧美另类69xxxx| 欧美成人有码| 成人激情电影一区二区| 日本不卡不卡| 天天综合网 天天综合色| 深夜视频在线观看| 国产一区二区三区四区二区| www日韩中文字幕在线看| 麻豆亚洲av熟女国产一区二| 国产一区二区三区不卡在线观看 | 亚州成人av在线| 亚洲精品国产手机| 久久久久久久免费视频了| 中文精品一区二区三区| 国产69精品久久久久9999人| 中文字幕日韩av电影| 国产又粗又猛又黄| 亚洲视频狠狠干| 成人免费观看毛片| 国产探花一区在线观看| 国产免费一区二区三区在线能观看| 亚洲男人第一天堂| 国产精品丝袜91| 日本三级黄色网址| 综合激情视频| 国产一区二区三区高清| 久久99久久99精品免观看软件| 一区二区三区亚洲| 国产毛片aaa| 日本一区二区三区免费乱视频 | 日韩午夜中文字幕| 中国女人特级毛片| 精品一区二区三区欧美| 欧美亚州在线观看| 欧美日韩va| 亚洲天堂av图片| 91精品国自产| 亚洲国产你懂的| 国产精品偷伦视频免费观看了 | 羞羞色国产精品| 99中文字幕一区| 欧美日韩综合视频| 丰满少妇xbxb毛片日本| 香蕉久久国产| 亚洲 欧洲 日韩| 亚洲精品成a人ⅴ香蕉片| 欧美刺激性大交免费视频| 中文在线字幕av| 国产亚洲欧美日韩日本| 97超碰青青草| 国产精品毛片视频| 九九热这里只有在线精品视| 一区二区不卡视频在线观看| 亚洲国产视频a| 中国1级黄色片| av福利精品导航| 日产精品久久久久久久蜜臀| 日日夜夜亚洲| 97视频免费看| 黄色动漫在线观看| 91精品国产全国免费观看| 亚洲一二三在线观看| 成人黄色在线网站| 中文字幕视频三区| 久久99伊人| 日韩影视精品| 国产精品美女在线观看直播| 91精品久久久久久久久久久| 免费黄色电影在线观看| 亚洲精品国精品久久99热一| 一级黄色大片免费观看| 日韩欧美国产高清91| 九九视频免费在线观看| 亚洲欧洲日韩av| 亚洲女优在线观看| 92国产精品观看| wwwxxx黄色片| 影音先锋中文字幕一区| 国产伦精品一区二区三区视频免费| 懂色aⅴ精品一区二区三区| 国产91av在线| 国产盗摄精品一区二区酒店| 久久久国产91| 日本高清中文字幕在线| 亚洲欧洲免费视频| 青青草在线播放| 欧美日韩高清在线| 九九热精品在线观看| 一区精品在线播放| 在线观看天堂av| 中文字幕av一区二区三区免费看| 亚洲精品成人无码熟妇在线| jiyouzz国产精品久久| 无码av免费精品一区二区三区| 国产精品一卡二卡| 男生和女生一起差差差视频| 亚洲高清成人| 性高湖久久久久久久久aaaaa| 综合精品一区| 丁香色欲久久久久久综合网| 人人精品亚洲| 国产日韩欧美在线看| 成人在线免费电影网站| 国产美女久久精品香蕉69| av成人亚洲| 成人国产精品免费视频| 亚洲欧美在线综合| 2019中文在线观看| 午夜不卡影院| 久久99久久99精品中文字幕| 国产激情视频在线| 欧美大片免费观看| aⅴ在线视频男人的天堂 | 日本电影全部在线观看网站视频 | 欧美寡妇性猛交xxx免费| 亚洲精品国产品国语在线| 亚洲国产av一区二区| 亚洲国产精品电影在线观看| 色猫av在线| 在线亚洲午夜片av大片| 欧美18hd| 欧美肥老妇视频| 亚洲精品永久免费视频| 国产精品久久av| vam成人资源在线观看| 国产精品v欧美精品v日韩| 国产精品久久久久久吹潮| 成人www视频在线观看| 涩涩屋成人免费视频软件| 国产精品久久久久久av下载红粉| 欧美aaaaaa| 成人精品水蜜桃| 窝窝社区一区二区| 国产美女精品久久久| 西野翔中文久久精品字幕| 日韩性感在线| 国产精品观看| av无码精品一区二区三区| 韩国三级在线一区| 人人干人人干人人| 麻豆精品91| 色呦色呦色精品| 99在线热播精品免费| 国产sm调教视频| 久久综合999| 婷婷激情四射网| 偷窥国产亚洲免费视频| 超碰在线97观看| 欧美成va人片在线观看| 福利在线播放| 久久久这里只有精品视频| 亚洲www啪成人一区二区| 欧美又大又粗又长| 伊人久久大香| 蜜桃999成人看片在线观看| 欧美一级一片| 自拍偷拍99| 国产欧美一区二区色老头 | 91精品国产91综合久久蜜臀| 香蕉久久国产av一区二区| 精品国产乱码久久久久久免费| 亚洲AV无码国产精品午夜字幕| 亚洲欧洲日本专区| 女同视频在线观看| 成人黄色生活片| 精品国产123区| 亚洲在线色站| 亚洲成人二区| 免费极品av一视觉盛宴| 日日夜夜免费精品视频| 国产综合内射日韩久| 亚洲视频一区二区在线观看| 久久影视中文字幕| 日韩高清免费观看| 高清电影在线免费观看| 91亚洲精品视频| 中文字幕日韩在线| 好看的日韩精品视频在线| 婷婷五月色综合香五月| 黄色一级大片免费| 精品系列免费在线观看| 人妻精品久久久久中文| 欧美视频国产精品| 欧美一级在线免费观看| 欧美猛男性生活免费| www.成人| 男女爱爱视频网站| 亚洲精品视频啊美女在线直播| 久久精品国产露脸对白| 国产精品久久久久久久久免费丝袜| 熟女少妇a性色生活片毛片| 一区二区三区在线视频免费 | 欧美大片日本大片免费观看| 特黄aaaaaaaaa真人毛片| 欧美丰满少妇xxxxx做受| 成人在线精品| 欧美 国产 精品| 国产精品一区三区| 男女免费视频网站| 精品国产一区二区三区久久影院 | 黄色片网站在线| 成人精品在线视频| 天天射—综合中文网| 午夜天堂在线视频| 夜夜精品视频一区二区| 亚洲精品一区二区三区新线路| 欧美俄罗斯乱妇| 任你躁在线精品免费| 国产成人久久777777| 久久精品人人做人人爽97| 黄色av一区二区| www.日韩视频| 一区二区三区高清在线观看| 激情五月婷婷六月| 久久综合给合久久狠狠狠97色69| 亚洲黄色免费观看| 日韩综合中文字幕| 日本精品在线观看| 3d动漫一区二区三区| 久久久精品欧美丰满| 亚洲天堂一二三| 欧美黑人性视频| 亚洲国产合集| gai在线观看免费高清| 亚洲精品少妇30p| 国产精品欧美综合| 精品国产欧美一区二区三区成人 | 日韩欧美一区二区不卡| ririsao久久精品一区| 国产精品久久9| 亚洲一区二区三区无吗| yy1111111| 一区二区三区欧美视频| 黄色三级网站在线观看| 热久久这里只有精品| 久久一区91| 日本999视频| 樱花草国产18久久久久| 婷婷av一区二区三区| 国产精品视频yy9099| 欧美精品一区二区三区中文字幕| 欧美成人三级在线播放| 亚洲一区二区三区免费视频| 国产又大又黑又粗| 97高清免费视频| 日韩精品四区| 男人的天堂影院| 亚洲成人tv网| 日本高清在线观看wwwww色| 精品国产综合| 国产乱对白刺激视频不卡| 国产女主播喷水视频在线观看 | 亚洲aaa在线观看| 欧美人与性动交| 女人丝袜激情亚洲| 吴梦梦av在线| 94色蜜桃网一区二区三区|