首頁企業服務技能帖|談談Django的CSRF插件的漏洞技能帖|談談Django的CSRF插件的漏洞

        技能帖|談談Django的CSRF插件的漏洞


        django框架做的網站_制作框架網頁_網站框架搭建需要什么技術

        網站框架搭建需要什么技術_django框架做的網站_制作框架網頁

        今年十月份我的第二本書《基于的電子商務網站設計》出版了,在這本書中我不僅介紹了如何利用框架搭建電子商務網站,也論述了如何利用的類對所創建的電子商務產品進行接口測試。

        在書寫極樂口測試代碼過程中,我遇到的最大的困難就是如何通過測試程序繞過的防止CSRF攻擊的插件,通過近一個多月的努力我終于解決了這個問題,但是同時也揭露了框架的防止CSRF攻擊的插件的漏洞。首先我們來看一下什么是CSRF攻擊。

        1、什么是CSRF攻擊?

        我們假設一個網站的HTML代碼如下:

        網站框架搭建需要什么技術_django框架做的網站_制作框架網頁

        大家都知道,采用驗證碼的目的是為了防止“黑客”,利用機器來通過窮舉的方法來試圖登錄系統。檢查驗證碼是否正確用的往往是前端做的判斷。這樣,“黑客”可以采用自己的網站建立如下頁面:

        django框架做的網站_網站框架搭建需要什么技術_制作框架網頁

        大家可以看見,在這段代碼中驗證碼沒有了,form的變成了絕對路徑,這樣“黑客”就繞過了前端的驗證,可以對自己代碼進行編寫自動化腳本實現用窮舉的方法來試圖登錄系統。這個就是CSRF攻擊。

        2、的CSRF插件是如何解決CSRF攻擊的

        下面讓我們來看一下的CSR插件是如何解決CSRF攻擊的。利用了一個名為..csrf.的中間件(可以在的.py中設置)利用CSRF令牌的方式來控制。具體方式生成一個一百個字符的隨機字符串作為CSRF令牌,在表單中產生一個名為的表單,把這個CSRF令牌的值放入這個字段中,然后在提交這個表單的時候產生一個名為的,這個的值也是CSRF令牌的值。

        網站框架搭建需要什么技術_制作框架網頁_django框架做的網站

        后臺檢查如果表單的值與的的值一致,則返回200返回碼,進入登錄后的頁面,否則返回403返回碼,拒絕進入系統。由于這個CSRF令牌是隨機生成的一百個字符的字符串,“黑客”是很難猜到這個字符的,所以就達到了CSRF的攻擊防護。

        3、的CSRF插件的漏洞

        3.1通過類破解

        但是這個CSRF插件是有漏洞的,在頁面.html頁面載入后,黑客可以通過某種手段(比如正則表達式)獲得這個CSRF令牌(即中的一百個字符值),然后構造一個名為的,名為剛才過的的CSRF令牌值,這樣就有了下面的代碼。

        網站框架搭建需要什么技術_制作框架網頁_django框架做的網站

        代碼“ =str(re.(r"name=\'\' =\'(.+?)\'/>",text))”是通過re.正則方法獲得CSRF令牌,存在變量中,由于用這個方法獲得的值是“["CSRF令牌值"]”格式的,也就是說去前面多了個“["”,后面多了個“"]”,所以后面用語句“ = [2:-2]”過濾出來,然后利用的post方法,先構造post參數:“={"":"","":"","":}”,這里“"":”讓表單仍舊為值。通過 = {"":}構造值,通過=作為post參數傳給后臺。這樣表單的值與的值是一致的,所以,登錄通過。

        后來,我驚奇的發現不用這么麻煩,我們直接把表單的值與的值設置相同,即:

        制作框架網頁_網站框架搭建需要什么技術_django框架做的網站

        3.2通過框架破解

        下面的代碼是利用做基于GUI的自動化測試代碼。

        網站框架搭建需要什么技術_制作框架網頁_django框架做的網站

        代碼通過 =self..("").("")獲取表單的值,通過elf..({"name":"","":})把這個值放入到名為的中。

        3.3通過破解

        在也可以破解,如下圖:

        django框架做的網站_網站框架搭建需要什么技術_制作框架網頁

        通過正則表達式提取器獲取.html中的值。

        網站框架搭建需要什么技術_制作框架網頁_django框架做的網站

        把獲得的值放入名為的中

        制作框架網頁_django框架做的網站_網站框架搭建需要什么技術

        把獲得的值仍舊作為表單參數傳給后臺處理。

        3.4通過破解

        在中,錄制完畢,腳本就直接把表單參數作為名為的傳給后臺,不用做任何代碼修改。正是不可思議。

        制作框架網頁_django框架做的網站_網站框架搭建需要什么技術

        文:顧翔

        圖源:網絡


        久久久久久久综合日本亚洲 | 久久精品国产亚洲AV麻豆网站 | 亚洲视频一区网站| 亚洲无线一二三四区手机| 色偷偷噜噜噜亚洲男人| 亚洲日韩AV一区二区三区中文| 亚洲免费视频网址| 亚洲图片校园春色| 亚洲Av无码一区二区二三区| 亚洲人成综合在线播放| 色噜噜亚洲男人的天堂| 自拍偷区亚洲国内自拍| 亚洲久热无码av中文字幕| 亚洲精品乱码久久久久久蜜桃图片| 亚洲成av人片天堂网无码】| 久久久久亚洲AV无码去区首| 国产成人综合亚洲绿色| 亚洲第一成人影院| gogo全球高清大胆亚洲| 亚洲女同成人AⅤ人片在线观看| 亚洲国产精品成人AV无码久久综合影院 | 亚洲高清资源在线观看| 亚洲综合久久1区2区3区| 亚洲精品视频免费在线观看| 亚洲精品在线免费观看| 亚洲jjzzjjzz在线观看| 亚洲精品免费网站| 亚洲gay片在线gv网站| 亚洲AV之男人的天堂| 亚洲一区二区三区在线观看精品中文| 亚洲中文久久精品无码ww16| 国产成人A人亚洲精品无码| 亚洲人成在线电影| 亚洲人色大成年网站在线观看| 亚洲色欲色欲www| 亚洲av成人无码网站…| 亚洲情a成黄在线观看| 亚洲人精品午夜射精日韩| 亚洲卡一卡2卡三卡4卡无卡三| 亚洲电影在线免费观看| 亚洲综合精品成人|