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

Python代碼審計實戰(zhàn)案例總結(jié)之SQL和ORM注入

安全 應(yīng)用安全
Python代碼審計方法多種多樣,但是總而言之是根據(jù)前人思路的遷移融合擴展而形成。目前Python代碼審計思路,呈現(xiàn)分散和多樣的趨勢。

Python代碼審計方法多種多樣,但是總而言之是根據(jù)前人思路的遷移融合擴展而形成。目前Python代碼審計思路,呈現(xiàn)分散和多樣的趨勢。Python微薄研發(fā)經(jīng)驗以及結(jié)合實際遇到的思路和技巧進行總結(jié),以便于朋友們的學(xué)習(xí)和參考。

[[285489]]

SQL注入和ORM注入

這兩者注入相似度較高,所以打算放在一起分析和總結(jié)。它們所用原理OWASP TOP TEN 中的描述非常合適,“將不受信任的數(shù)據(jù)作為命令或查詢的一部分發(fā)送到解析器時,會產(chǎn)生諸如SQL注入、NoSQL注入、OS注入和LDAP注入的注入缺陷。攻擊者的惡意數(shù)據(jù)可以誘使解析器在沒有適當授權(quán)的情況下執(zhí)行非預(yù)期命令或訪問數(shù)據(jù)。”。

1. SQL注入

Python 中常見存在風(fēng)險SQL語句,在id或者Name可控的情況下存在安全隱患。可控參數(shù)可以將咱么期望他執(zhí)行的代碼按照語法進行拼接,從而執(zhí)行原本預(yù)期之外的代碼。

  1. sql = "select id,name from user_table where id = %s and name = %s" % (id, name) 
  2. cur.execute(sql) 

然而在實際案例中,這種執(zhí)行SQL語句并不多,比較典型的案例。實例代碼如下:

  1. import urllib 
  2. import MySQLdb 
  3. import SocketServer 
  4. from SimpleHTTPServer import SimpleHTTPRequestHandler 
  5. class MyHandler(SimpleHTTPRequestHandler): 
  6.     def _set_headers(self): 
  7.         self.send_response(200) 
  8.         self.send_header('Content-type', 'text/html') 
  9.         self.end_headers() 
  10.     def do_GET(self): 
  11.         print("got get request %s" % (self.path)) 
  12.         hql = urllib.splitquery(self.path)[1] 
  13.         uri_c = str(hql) 
  14.         print('cmd===%s' % (uri_c)) 
  15.         sql = "select id from user_table where id = %s" % uri_c 
  16.         db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8'
  17.         cursor = db.cursor() 
  18.         cursor.execute(sql) 
  19.         data = cursor.fetchone() 
  20.         self.wfile.write(data) 
  21. def start_server(): 
  22.     httpd = SocketServer.TCPServer(("127.0.0.1", 8090), MyHandler) 
  23.     print('Starting httpd...') 
  24.     httpd.serve_forever() 
  25. if __name__ == "__main__": 
  26.     start_server() 

這是一個簡單的HTTP服務(wù)器,目前在Python2中可以正常運行。通過urllib.splitquery獲取GET請求的參數(shù),uri_c 里面為請求參數(shù)的值。用值傳遞到SQL語句中拼接,從而產(chǎn)生注入問題。這是比較簡單的一種,正常情況下調(diào)用鏈可能會比較長,長短取決于平臺的設(shè)計架構(gòu)。

2. ORM注入

(1) sqlalchemy ORM注入(CNVD-2019-17301)

考慮到的理解上比較容易,用模塊進行舉例,并不涉及到框架。ORM注入是SQL注入的一種特殊情況,ORM模塊將SQL語句進行模板化,所以找SQL語句字符串的辦法不好用了。那么應(yīng)該怎么辦?根據(jù)模塊來找尋執(zhí)行方法,如果模塊存在問題和未妥善過濾或轉(zhuǎn)義、存在可控變量則可能會產(chǎn)生問題。如何去發(fā)現(xiàn)和查找Python ORM模塊,展現(xiàn)朋友們搜索技能的時候到了,不再老生常談。下面進入案例:

  1. from sqlalchemy import create_engine 
  2. from sqlalchemy.orm import sessionmaker 
  3. import sqlalchemy 
  4. print("sqlalchemy_version:",sqlalchemy.__version__) 
  5. engine = create_engine('mysql://root:123456@192.168.56.101:3306/mysql?charset=utf8') 
  6. DB_Session = sessionmaker(bind=engine
  7. session = DB_Session() 
  8. session.execute('use mysql;') 
  9. print( 
  10.         session.execute( 
  11.             """ 
  12.                 select * from user where User='root' and 11=1; 
  13.             """ 
  14.     ).fetchall() 

這個是使用sqlalchemy的ORM注入,它存在任意執(zhí)行SQL語句的接口。道理上講這個是功能,實際情況大多數(shù)程序員都會認為ORM是能夠防御SQL注入,這個可能會成為漏洞。通過轉(zhuǎn)義可以更好的解決問題,但是官方可能并不重視。另外還有sqlalchemy幾個問題利用order_by注入、利用”limit”和”offset”關(guān)鍵詞向”select()”函數(shù)傳遞注入等等,方法一樣利用模塊過濾不嚴,暫不多論。

(2) Django JSON SQL注入(CVE-2019-14234)

咱們繼續(xù)看來 Django JSON SQL注入,關(guān)于這個漏洞已經(jīng)有前人分析過了。這個分析有些難度需要咱們了解Django和PostgreSQL,如果感覺吃力不妨先去學(xué)習(xí)一番。了解在PostgreSQL之中關(guān)于JSON數(shù)據(jù)的查詢主要使用ArrayField、JSONField、HStoreField,通過Django如何進行查詢PostgreSQL,Json.objects.filter()和QuerySet.filter()實現(xiàn),準備工作就緒。

查詢使用方法如下:

  1. # 查詢方法 
  2. # 查詢data數(shù)據(jù)下名稱為test的內(nèi)容為'user'的整個字段 
  3. Json.objects.filter(data__test='user'
  4. or 
  5. Json.objects.filter(**{"data__test":'user'}) 

通過補丁判斷實現(xiàn)方法使用了 self.key_name ,QuerySet.filter()的調(diào)用和self.key_name傳遞有關(guān)。

緊接著發(fā)現(xiàn)類 KeyTransformFactory 調(diào)用了 KeyTransform 傳入了 self.key_name ,后續(xù)是字符串拼接。這里不多詳細闡述感興趣的朋友跟下流程。

  1. class KeyTextTransform(KeyTransform): 
  2.     operator = '->>' 
  3.     ... 
  4.     # 字符串拼接 
  5.     (%s %s %s)" % (lhs, self.operator, lookup) 

結(jié)合注入的知識進行實施測試,結(jié)果如下。

  1. # 使用注入 
  2. # 拼接補全SQL語法 
  3. Json.objects.filter(**{"""data__breed'='"a"') OR 11=1 OR('d""":'x',}) 

總結(jié)

本次總結(jié)Python的SQL注入和ORM注入的挖掘方法和相關(guān)案例,SQL注入方面沒有找到對應(yīng)的實際案例,咱們編寫簡單的案例作為參考。ORM注入為兩個案例,分別是關(guān)于模塊和框架。綜合作為實戰(zhàn)挖掘的參考,個人之力,恐有疏漏,盼斧正。

責(zé)任編輯:趙寧寧 來源: FreeBuf
相關(guān)推薦

2020-04-16 10:42:37

Pythonweb安全代碼審計

2019-03-13 08:56:07

JavaSpEL表達式注入

2013-12-02 09:35:10

2014-01-17 12:35:48

2018-02-10 09:44:19

2009-09-14 17:40:47

LINQ To SQL

2014-04-14 10:03:16

2020-08-30 14:34:42

Java語言安全編碼web安全

2018-12-18 09:06:07

2021-04-21 06:15:28

Serverless 云開發(fā) Todo 案例

2023-12-11 06:27:39

MySQL線上業(yè)務(wù)優(yōu)化后臺上傳文件

2010-09-13 14:03:58

2022-12-06 08:29:01

2015-07-31 09:27:56

安全編碼代碼審計Python

2020-01-16 18:30:07

技術(shù)SQL優(yōu)化

2020-12-29 07:15:34

TypeScript語言代碼

2010-12-20 16:04:30

2013-04-19 10:56:54

2019-07-11 12:36:01

AR設(shè)計圖像檢測法

2009-09-28 11:42:21

KestrelScala
點贊
收藏

51CTO技術(shù)棧公眾號

日韩综合在线观看| www.成人黄色| 久草在现在线| 久久91精品久久久久久秒播| 精品久久久91| 污污免费在线观看| 精品欧美一区二区三区在线观看| 亚洲欧美一区二区视频| 精品久久久久久一区二区里番| 无码人妻精品一区二区蜜桃色欲| 久久精品免费一区二区三区| 亚洲国产欧美久久| 日韩精品视频一二三| 成年网站在线视频网站| 国产精品全国免费观看高清| 成人免费在线一区二区三区| 中文字幕一区二区人妻视频| 国内精品久久久久久久97牛牛| 亚洲天堂视频在线观看| 97中文字幕在线观看| 成人mm视频在线观看| 亚洲一区二区三区不卡国产欧美 | 天堂成人娱乐在线视频免费播放网站| 欧美日韩一区二区三区视频| 国产69精品久久久久999小说| 日本在线播放| 国产亚洲一区二区在线观看| 国产另类自拍| www.av导航| 九九精品视频在线看| 日本a级片电影一区二区| 久久97人妻无码一区二区三区| 久久亚洲精品中文字幕蜜潮电影| 亚洲精品午夜精品| 国产麻豆xxxvideo实拍| 亚洲精品不卡在线观看| 欧美老年两性高潮| 国产一区二区在线免费播放| 欧美性猛交xxx高清大费中文| 午夜影院在线观看欧美| 成人在线免费高清视频| 里番在线观看网站| 国产精品久久久久久久久图文区 | 国产在线观看黄| av电影在线观看完整版一区二区| 99在线观看| 亚洲风情第一页| 国产福利精品导航| 96成人在线视频| 国产高清在线免费| 国产裸体歌舞团一区二区| 国产裸体写真av一区二区 | 日本中文字幕免费在线观看| 色综合久久一区二区三区| 国产香蕉97碰碰久久人人| 老鸭窝一区二区| 你懂的一区二区三区| 日韩乱码在线视频| 蜜桃av免费看| 成人嫩草影院| 中文字幕综合一区| 婷婷社区五月天| 欧美三级不卡| 国内精品久久久久久久| 日韩三级视频在线| 亚洲欧美日韩综合国产aⅴ| 欧美又大粗又爽又黄大片视频| 国产性猛交╳xxx乱大交| 久久亚洲色图| 国产一区香蕉久久| 亚洲春色一区二区三区| 不卡av在线免费观看| 久久综合九色欧美狠狠| 国产天堂素人系列在线视频| 国产精品美女久久久久高潮| 97超碰免费观看| 爱福利在线视频| 日韩欧美高清在线视频| 超碰在线人人爱| 美女精品视频在线| 亚洲激情在线观看| 欧美亚洲色综久久精品国产| 欧美91视频| 69视频在线免费观看| 五月婷婷丁香在线| 国产一区二区三区香蕉| 国产在线欧美日韩| melody高清在线观看| 亚洲三级小视频| 僵尸世界大战2 在线播放| 精品免费av在线| 日韩视频在线一区二区| 永久免费看mv网站入口78| 欧美aaaa视频| 6080yy精品一区二区三区| 中文亚洲av片在线观看| 国产成人免费av在线| 久久久久网址| 国产理论在线观看| 一本色道综合亚洲| 亚洲欧美激情一区二区三区| 综合综合综合综合综合网| 久久精品人人做人人爽| 毛片基地在线观看| 国产一本一道久久香蕉| 日产精品久久久一区二区| 在线午夜影院| 欧美日韩一区三区| 理论片大全免费理伦片| 91亚洲一区| 青青在线视频一区二区三区| xxxx国产精品| 中文字幕一区二区三区在线不卡 | 欧美一级网址| 欧美一区二区日韩| 中文字幕免费在线看线人动作大片| 亚洲人体av| 国产精品激情av在线播放| 亚洲精品综合网| 18成人在线观看| 成人黄色一区二区| 群体交乱之放荡娇妻一区二区 | av2020不卡| 884aa四虎影成人精品一区| 丰腴饱满的极品熟妇| 亚洲激情亚洲| 成人3d动漫一区二区三区91| 免费av不卡| 欧美影院精品一区| 国产成人无码精品久久二区三| 在线精品亚洲| 99在线观看视频| 中文av资源在线| 欧美一级高清片| 亚洲天堂黄色片| 精品一区免费av| 亚洲最新免费视频| 青青青国产精品| 日韩在线观看免费网站| 亚洲精品毛片一区二区三区| 久久久精品人体av艺术| 亚洲自偷自拍熟女另类| 欧美一区 二区| 97精品国产97久久久久久免费| 日韩成人在线网站| 国产精品无码永久免费不卡| 极品裸体白嫩激情啪啪国产精品| 91手机在线观看| av网站大全在线| 日韩欧美资源站| 久草免费在线观看视频| 国产白丝精品91爽爽久久| 91麻豆天美传媒在线| 精品视频在线播放一区二区三区| www日韩欧美| 国产精品永久久久久久久久久| 成人欧美一区二区三区小说| 五月六月丁香婷婷| 午夜国产精品视频免费体验区| 亚洲最大成人在线| 都市激情久久综合| 亚洲精品电影在线| 中文字幕在线观看视频免费| 国产亚洲欧洲一区高清在线观看| 久久久久久久久久福利| 欧美影院三区| 成人www视频在线观看| 日韩av激情| 日韩av综合网站| 波多野结衣日韩| 18成人在线视频| 中文在线观看免费视频| 亚洲女优在线| 亚洲人久久久| 亚洲欧洲国产精品一区| 欧洲精品久久久| 无遮挡动作视频在线观看免费入口 | 亚洲女成人图区| 国产一区二区麻豆| 亚洲最新视频在线播放| 亚洲永久无码7777kkk| 日本不卡一二三区黄网| 国产专区在线视频| 日韩精品欧美大片| 成人黄色免费网站在线观看| 青草影视电视剧免费播放在线观看| 日韩国产欧美区| 中文字幕理论片| 亚洲永久精品国产| 日韩欧美激情四射| 亚洲成人网在线播放| 久久精品国产久精国产| 国产女主播自拍| 青青草91久久久久久久久| 99在线观看视频网站| 周于希免费高清在线观看| xxx欧美精品| 色视频在线观看免费| 欧美精品第一页| 日韩精品一区二区三| 国产精品久久免费看| 亚洲高清无码久久| 毛片基地黄久久久久久天堂| 高清欧美精品xxxxx| 免费国产自久久久久三四区久久| 91九色视频在线| 日韩免费va| 久久久亚洲精选| 黄色网页网址在线免费| 亚洲视频一区二区三区| 好吊视频一二三区| 欧美精品一二三区| 欧美一区免费看| 亚欧色一区w666天堂| 二区三区四区视频| 国产日韩综合av| 极品白嫩丰满美女无套| 国产精品18久久久久久久久| 另类小说第一页| 99re国产精品| av片在线免费| 亚洲国产精品日韩专区av有中文| 欧美日韩精品久久久免费观看| 中文字幕一区日韩精品| 91精品国产综合久久香蕉的用户体验 | 中文字幕天天干| 99亚洲伊人久久精品影院红桃| 欧美爱爱视频网站| 成人6969www免费视频| 麻豆成人小视频| 美女视频亚洲色图| 国产精品果冻传媒潘| 国产一区二区| 成人中文字幕在线观看 | 成人区精品一区二区| 成人在线日韩| 91精品久久久久久久久久久久久| 国产麻豆久久| 国产精品久久久久久av下载红粉| 中文字幕影音在线| 欧美一级黑人aaaaaaa做受| 77thz桃花论族在线观看| 九九久久久久久久久激情| 大片免费在线观看| www高清在线视频日韩欧美| 香蕉视频在线看| 久久精品亚洲一区| 国产最新在线| 欧美尺度大的性做爰视频| 一二三四区在线观看| 九九热这里只有精品6| 日韩三级免费| 777精品视频| 中文字幕人成乱码在线观看 | 91伊人久久大香线蕉| 国产高清成人久久| 99久久精品免费看国产| 黄色片视频免费观看| 国产人成亚洲第一网站在线播放 | 国产精品福利久久久| 国产电影一区二区三区爱妃记| 国产精品久久久久影院日本| 欧美亚洲综合视频| 成人一区二区在线| 久久久久97| 日本在线视频不卡| 97偷自拍亚洲综合二区| 少妇久久久久久被弄到高潮| 在线精品观看| 黄色三级视频在线| 国产一区二区免费看| 无码国产69精品久久久久网站 | 亚洲天堂一区二区| 成人在线播放av| xxxxxhd亚洲人hd| 鲁丝一区鲁丝二区鲁丝三区| 日韩电影二区| 欧美黄色免费网址| 欧美亚洲在线| 性久久久久久久| 天天操天天舔天天射| 亚洲欧洲日产国码二区| 精品无码人妻一区二区三| 欧美日韩亚洲网| 91精品国产乱码久久久| 亚洲成人网av| av网站在线免费播放| 欧美精品性视频| 电影一区二区三| 91中文字幕在线| 先锋影音国产精品| 日本丰满少妇黄大片在线观看| 99精品视频免费全部在线| 美女网站视频黄色| 成人av综合在线| 波多野结衣欲乱| 欧美日韩免费区域视频在线观看| 亚洲一线在线观看| 日韩福利视频在线观看| 黄色在线免费| 国产精品h片在线播放| 亚洲精品一区国产| 亚洲日本一区二区三区在线不卡| 亚洲韩日在线| 岛国av免费在线| 久久久久久久综合日本| 麻豆changesxxx国产| 色哟哟一区二区在线观看| 亚洲精品福利网站| 色综合亚洲精品激情狠狠| 一区二区精品伦理...| 成人动漫在线视频| 欧美电影一二区| 久久久久国产精品熟女影院| 成人美女在线观看| 色婷婷在线视频观看| 欧美私人免费视频| 青青久在线视频| 久久免费少妇高潮久久精品99| 小说区图片区亚洲| 日韩中文不卡| 久久成人在线| 久久午夜夜伦鲁鲁片| 一区二区三区日韩精品| 国产精品久久777777换脸| 一本色道久久88精品综合| 中文字幕 日韩有码| 香蕉久久夜色精品| 亚洲无在线观看| 国产精品二三区| 伊人网站在线观看| 中文字幕亚洲一区二区三区| 高清不卡av| 欧美一级日本a级v片| 午夜一区不卡| 久久午夜夜伦鲁鲁片| 精品国产乱码久久久久久天美| 粉嫩av一区二区夜夜嗨| 欧美人与物videos| 99ri日韩精品视频| www成人免费| 福利一区二区在线观看| 国产suv精品一区二区68| 欧美高清视频在线高清观看mv色露露十八 | 日韩免费观看高清完整版| 免费观看久久久久| 国产日韩欧美中文在线播放| 三区四区不卡| 日韩中文字幕a| 亚洲视频在线一区二区| 国产情侣一区二区| 蜜臀久久99精品久久久久久宅男 | 青青草成人免费| 日韩视频一区二区三区| 欧美男男video| 国产精品手机视频| 亚洲一区二区三区四区五区午夜| 少妇按摩一区二区三区| 色老综合老女人久久久| 成人三级黄色免费网站| 成人精品福利视频| 欧美久色视频| 国产 中文 字幕 日韩 在线| 欧美午夜无遮挡| av在线天堂播放| 亚洲一区二区中文字幕| 亚洲国产91| 国精产品一区一区三区免费视频| 欧美视频在线一区二区三区| 黄色免费网站在线| 国产伦精品一区二区三毛| 久久青草久久| chinese全程对白| 日韩女优制服丝袜电影| 少妇视频一区| 亚洲欧美日本国产有色| 国产成人av自拍| 手机看片久久久| 久久精品最新地址| 琪琪久久久久日韩精品| 日本久久久久久久久久久久| 一区二区三区精品在线观看| 日韩精品视频在线观看一区二区三区| 国产精品久久久av| 国产精品videosex极品| 美女被到爽高潮视频| 69av一区二区三区| 欧美13videosex性极品| 亚洲永久一区二区三区在线| 国产91丝袜在线播放0| 亚洲欧美一二三区| 精品中文字幕在线2019| 精品日韩在线| 无码国产精品一区二区免费式直播| 日本道精品一区二区三区| 国产美女一区视频| 一本一本久久a久久精品综合妖精| 成人黄色网址在线观看| 中文字幕日产av| 97成人精品区在线播放|