国产精品久av福利在线观看_亚洲一区国产精品_亚洲黄色一区二区三区_欧美成人xxxx_国产精品www_xxxxx欧美_国产精品久久婷婷六月丁香_国产特级毛片

錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務(wù),錦州廣廈維修電腦,公司IT外包服務(wù)
topFlag1 設(shè)為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務(wù)項目 服務(wù)報價 維修流程 IT外包服務(wù) 服務(wù)器維護 技術(shù)文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務(wù)技術(shù)文章
CSRF攻擊與防御

作者: 佚名  日期:2017-05-02 16:47:35   來源: 本站整理

1、簡介

CSRF的全名為Cross-site request forgery,它的中文名為 跨站請求偽造(偽造跨站請求【這樣讀順口一點】)

CSRF是一種夾持用戶在已經(jīng)登陸的web應(yīng)用程序上執(zhí)行非本意的操作的攻擊方式。相比于XSS,CSRF是利用了系統(tǒng)對頁面瀏覽器的信任,XSS則利用了系統(tǒng)對用戶的信任。

2、CSRF攻擊原理

下面為CSRF攻擊原理圖:

由上圖分析我們可以知道構(gòu)成CSRF攻擊是有條件的:

1、客戶端必須一個網(wǎng)站并生成cookie憑證存儲在瀏覽器中

2、該cookie沒有清除,客戶端又tab一個頁面進行訪問別的網(wǎng)站

3、CSRF例子與分析

我們就以游戲虛擬幣轉(zhuǎn)賬為例子進行分析

3.1、簡單級別CSRF攻擊

假設(shè)某游戲網(wǎng)站的虛擬幣轉(zhuǎn)賬是采用GET方式進行操作的,樣式如:

1 http://www.game.com/Transfer.php?toUserId=11&vMoney=1000

此時 惡意攻擊者 的網(wǎng)站也構(gòu)建一個相似的鏈接:

1、可以是采用圖片隱藏,頁面一打開就自動進行訪問第三方文章:<img src='攻擊鏈接'>

2、也可以采用js進行相應(yīng)的操作

http://www.game.com/Transfer.php?toUserId=20&vMoney=1000         #toUserID為攻擊的賬號ID

1、假若客戶端已經(jīng)驗證并登陸www.game.com網(wǎng)站,此時客戶端瀏覽器保存了游戲網(wǎng)站的驗證cookie

2、客戶端再tab另一個頁面進行訪問惡意攻擊者的網(wǎng)站,并從惡意攻擊者的網(wǎng)站構(gòu)造的鏈接來訪問游戲網(wǎng)站

3、瀏覽器將會攜帶該游戲網(wǎng)站的cookie進行訪問,刷一下就沒了1000游戲虛擬幣

3.2、中級別CSRF攻擊

游戲網(wǎng)站負責人認識到了有被攻擊的漏洞,將進行升級改進。

將由鏈接GET提交數(shù)據(jù)改成了表單提交數(shù)據(jù)

//提交數(shù)據(jù)表單
<form action="./Transfer.php" method="POST">
    <p>toUserId: <input type="text" name="toUserId" /</p>
    <p>vMoney: <input type="text" name="vMoney" /></p>
    <p><input type="submit" value="Transfer" /></p>
</form>

Transfer.php

1 <?php
2      session_start();
3      if (isset($_REQUEST['toUserId'] && isset($_REQUEST['vMoney']))  #驗證
4      {
5           //相應(yīng)的轉(zhuǎn)賬操作
6      }
7  ?>

惡意攻擊者將會觀察網(wǎng)站的表單形式,并進行相應(yīng)的測試。

首先惡意攻擊者采用(http://www.game.com/Transfer.php?toUserId=20&vMoney=1000)進行測試,發(fā)現(xiàn)仍然可以轉(zhuǎn)賬。

那么此時游戲網(wǎng)站所做的更改沒起到任何的防范作用,惡意攻擊者只需要像上面那樣進行攻擊即可達到目的。

總結(jié):

1、網(wǎng)站開發(fā)者的錯誤點在于沒有使用$_POST進行接收數(shù)據(jù)。當$_REQUEST可以接收POST和GET發(fā)來的數(shù)據(jù),因此漏洞就產(chǎn)生了。

3.3、高級別CSRF攻擊

這一次,游戲網(wǎng)站開發(fā)者又再一次認識到了錯誤,將進行下一步的改進與升級,將采用POST來接收數(shù)據(jù)

Transfer.php

1 <?php
2      session_start();
3      if (isset($_POST['toUserId'] && isset($_POST['vMoney']))  #驗證
4      {
5           //相應(yīng)的轉(zhuǎn)賬操作
6      }
7  ?>

此時惡意攻擊者就沒有辦法進行攻擊了么?那是不可能的。

惡意攻擊者根據(jù)游戲虛擬幣轉(zhuǎn)賬表單進行偽造了一份一模一樣的轉(zhuǎn)賬表單,并且嵌入到iframe中

嵌套頁面:(用戶訪問惡意攻擊者主機的頁面,即tab的新頁面)

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>攻擊者主機頁面</title>
    <script type="text/javascript">
    function csrf()
    {
        window.frames['steal'].document.forms[0].submit();
    }
    </script>
</head>
<body onload="csrf()">
<iframe name="steal" display="none" src="./xsrf.html">
</iframe>
</body>
</html>

表單頁面:(xsrf.html)

<!DOCTYPE html>
<html>
<head>
    <title>csrf</title>
</head>
<body>
<form display="none" action="http://www.game.com/Transfer.php" method="post" >
    <input type="hidden" name="toUserID" value="20">
    <input type="hidden" name="vMoney" value="1000">
</form>
</body>
</html>

客戶端訪問惡意攻擊者的頁面一樣會遭受攻擊。

總結(jié):

CSRF攻擊是 源于Web的隱式身份驗證機制 !Web的身份驗證機制雖然可以保證一個請求是來自于某個用戶的瀏覽器,但卻無法保證該請求是用戶批準發(fā)送的

4、CSRF防御方法

服務(wù)器端防御:

1、重要數(shù)據(jù)交互采用POST進行接收,當然是用POST也不是萬能的,偽造一個form表單即可破解

2、使用驗證碼,只要是涉及到數(shù)據(jù)交互就先進行驗證碼驗證,這個方法可以完全解決CSRF。但是出于用戶體驗考慮,網(wǎng)站不能給所有的操作都加上驗證碼。因此驗證碼只能作為一種輔助手段,不能作為主要解決方案。

3、驗證HTTP Referer字段,該字段記錄了此次HTTP請求的來源地址,最常見的應(yīng)用是圖片防盜鏈。PHP中可以采用APache URL重寫規(guī)則進行防御。

4、為每個表單添加令牌token并驗證

(可以使用cookie或者session進行構(gòu)造。當然這個token僅僅只是針對CSRF攻擊,在這前提需要解決好XSS攻擊,否則這里也將會是白忙一場【XSS可以偷取客戶端的cookie】)

CSRF攻擊之所以能夠成功,是因為攻擊者可以偽造用戶的請求,該請求中所有的用戶驗證信息都存在于Cookie中,因此攻擊者可以在不知道這些驗證信息的情況下直接利用用戶自己的Cookie來通過安全驗證。由此可知,抵御CSRF攻擊的關(guān)鍵在于:在請求中放入 攻擊者所不能偽造的信息 ,并且該信息不存在于Cookie之中。

鑒于此,我們將為每一個表單生成一個隨機數(shù)秘鑰,并在服務(wù)器端建立一個攔截器來驗證這個token,如果請求中沒有token或者token內(nèi)容不正確,則認為可能是CSRF攻擊而拒絕該請求。

由于這個token是隨機不可預(yù)測的并且是隱藏看不見的,因此惡意攻擊者就不能夠偽造這個表單進行CSRF攻擊了。

要求:

1、要確保同一頁面中每個表單都含有自己唯一的令牌

2、驗證后需要刪除相應(yīng)的隨機數(shù)

構(gòu)造令牌類Token.calss.php

 1 <?php
 2 class Token
 3 {
 4     /**
 5     * @desc 獲取隨機數(shù)
 6     *
 7     * @return string 返回隨機數(shù)字符串
 8     */
 9     private function getTokenValue()
10     {
11         return md5(uniqid(rand(), true).time());
12     }
13     
14     /**
15     * @desc 獲取秘鑰
16     *
17     * @param $tokenName string | 與秘鑰值配對成鍵值對存入session中(標識符,保證唯一性)
18     *
19     * @return array 返回存儲在session中秘鑰值
20     */
21     public function getToken($tokenName)
22     {
23         $token['name']=$tokenName;      #先將$tokenName放入數(shù)組中
24         session_start();
25         if(@$_SESSION[$tokenName])      #判斷該用戶是否存儲了該session
26         {                               #是,則直接返回已經(jīng)存儲的秘鑰
27             $token['value']=$_SESSION[$tokenName];
28             return $token;
29         }
30         else                            #否,則生成秘鑰并保存
31         {
32             $token['value']=$this->getTokenValue();
33             $_SESSION[$tokenName]=$token['value'];
34             return $token;
35         }
36     }
37 
38 }
39 #測試
40 $csrf=new Token();
41 $name='form1';
42 $a=$csrf->getToken($name);
43 echo "<pre>";
44 print_r($a);
45 echo "</pre>";
46 echo "<pre>";
47 print_r($_SESSION);
48 echo "</pre>";die;
49 
50 ?> 

表單中使用:

 1 <?php
 2           session_start();
 3           include(”Token.class.php”);
 4           $token=new Token();
 5           $arr=$token->getToken(‘transfer’);    #保證唯一性(標識符)
 6 ?>
 7  <form method=”POST” action=”./transfer.php”>
 8           <input type=”text” name=”toUserId”>
 9           <input type=”text” name=”vMoney”>
10           <input type="hidden" name="<?php echo $arr['name'] ?>"  value="<?php echo $arr['value']?>" >
11           <input type=”submit” name=”submit” value=”Submit”>
12  </from>

驗證:

 1 <?php
 2 #轉(zhuǎn)賬表單驗證
 3 session_start();
 4 if($_POST['transfer']==$_SESSION['transger'])       #先檢驗秘鑰
 5 {
 6     if ( &&isset($_POST['toUserId'] && isset($_POST['vMoney']))  #驗證
 7     {
 8          //相應(yīng)的轉(zhuǎn)賬操作
 9     }
10 }
11 else
12 {
13     return false;
14 }
15 
16 ?>

該方法套路:

1. 用戶訪問某個表單頁面。

2. 服務(wù)端生成一個Token,放在用戶的Session中,或者瀏覽器的Cookie中。【這里已經(jīng)不考慮XSS攻擊】

3. 在頁面表單附帶上Token參數(shù)。

4. 用戶提交請求后, 服務(wù)端驗證表單中的Token是否與用戶Session(或Cookies)中的Token一致,一致為合法請求,不是則非法請求。

5、參考文獻

1. 《淺談CSRF攻擊方式》

2. 《Web安全之CSRF攻擊》

(以上是自己的一些見解,若有不足或者錯誤的地方請各位指出)

作者:那一葉隨風 http://www.cnblogs.com/phpstudy2015-6/

 

 



熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯(lián)想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數(shù)和判...
  • IIS 8 開啟 GZIP壓縮來減少網(wǎng)絡(luò)請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅(qū)動時提示不包含數(shù)字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統(tǒng)快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯(lián)系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務(wù)區(qū)域: 遼寧錦州市區(qū)
    主要業(yè)務(wù): 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網(wǎng)設(shè)置,IT服務(wù)外包,局域網(wǎng)組建,ADSL共享上網(wǎng),路由器設(shè)置,數(shù)據(jù)恢復,密碼破解,光盤刻錄制作等服務(wù)

    技術(shù)支持:微軟等
    波霸ol色综合久久| 欧美在线激情| 精品国产欧美一区二区| 中文字幕一区二| 青草国产精品久久久久久| 欧美精品国产白浆久久久久| 黄频免费在线观看| 三级毛片在线免费看| 调教视频vk| 午夜福制92视频| 久久免费区一区二区三波多野 | 国产免费看av| 污版视频在线观看| 亚洲伦伦在线| 综合久久成人| 成人黄色毛片| 欧美电影免费观看| 天使と恶魔の榨精在线播放| 国产福利在线| 亚洲人成电影| 国产又粗又猛又爽| 日韩毛片在线播放| 中文天堂资源在线| 熟女少妇一区二区三区| 青青草精品在线| 亚洲天堂国产视频| www.精品在线| 欧美美女性视频| 欧美亚洲日本在线观看| 久久无码高潮喷水| 国产精品99久久久久久www| 正在播放欧美一区| 精品国产91久久久久久| 日韩精品91亚洲二区在线观看| 国产精品极品美女在线观看| 黄网页在线观看| eeuss影院www在线观看| 久色视频在线观看| 人人妻人人玩人人澡人人爽| 精品国产九九九| 午夜精品小视频| 阿v天堂2014| 国产熟妇搡bbbb搡bbbb| 亚洲欧美日韩偷拍| 日韩久久精品一区二区三区| 国产精品一区二区你懂得| 国产一区二区免费在线观看| 国内不卡一区二区三区| 欧美第一黄网| 一区精品在线| 蜜臀av性久久久久蜜臀av| 国产精品视频一二三四区| 毛片在线视频播放| 中文字幕永久有效| 国产精品无码网站| 天天鲁一鲁摸一摸爽一爽| 国产高潮免费视频| 天天做天天干天天操| 国产麻豆剧传媒精品国产av| 中文字幕伦理片| 天天操天天摸天天干| 亚洲国产精品无码久久久久高潮| 水蜜桃av无码| 亚洲综合图片一区| 福利一区二区三区四区| 国产视频在线观看免费| 久草在线免费资源| www怡红院| 精品无人乱码| 国产一二三在线| 一区二区三区欧洲区| 香蕉精品视频在线观看| www.爱久久| 成人看的羞羞网站| 91精品久久久久久综合五月天| 亚洲人成精品久久久 | 在线成人直播| 日韩电影在线一区二区| 成人久久18免费网站麻豆| 亚洲欧美激情插| 欧美老女人在线| 最近日韩中文字幕中文| 欧美精三区欧美精三区| 亚洲精品丝袜日韩| 欧美zozozo| 一本久久a久久精品亚洲| 国产精品九色蝌蚪自拍| 91成人国产精品| 最好看的2019年中文视频| 国产精品视频一| 好色先生视频污| 韩国av中国字幕| 久久精品视频9| 四虎免费播放| 麻豆电影在线| 小黄鸭精品aⅴ导航网站入口| 啪啪亚洲精品| 国产精品123区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 欧美视频一区二区| 久久九九有精品国产23| 国产精品伊人日日| 国产又大又黄又猛| 九九在线观看视频| 中文乱码字幕午夜无线观看| 美女的诞生在线观看高清免费完整版中文 | 777久久久精品| 色综合久久久久综合| 亚洲女人天堂视频| 国产一区二区三区四区福利| 国产精品视频99| 亚洲自偷自拍熟女另类| 麻豆一区在线观看| 日本免费不卡视频| 青青国产在线| heyzo欧美激情| 成人午夜电影小说| 日韩一区二区三区在线视频| 国产精品91免费在线| 精品无码一区二区三区在线| 人妻人人澡人人添人人爽| 久草视频手机在线| 婷婷久久久久久| 国产女主播在线写真| 久久夜色电影| 中文字幕一区二区三区乱码图片| 成人午夜视频在线观看| 欧美日韩综合一区| 亚洲国产99精品国自产| 95av在线视频| 亚洲国产一区二区精品视频| 稀缺小u女呦精品呦| 国产免费不卡视频| 天堂在线中文| av资源在线播放| 亚洲第一精品影视| 高跟丝袜欧美一区| 欧美怡红院视频一区二区三区 | 欧美极品少妇无套实战| 欧美日韩精品一区二区三区视频播放| 国产馆手机在线观看| 蜜桃麻豆影像在线观看| 久久久久国产一区二区| 日本精品视频一区二区三区| 国产精品女人网站| 涩视频在线观看| 又粗又硬又爽国产视频| 国产白浆在线免费观看| 久久精品国产99| 亚洲美女在线看| 日本国产中文字幕| 中文字幕永久在线视频| 好男人官网在线| 欧洲成人综合网| 国产精品久久久网站| 久久伊人中文字幕| 久久国产精品久久精品| 成人免费大片黄在线播放| 国产又黄又嫩又滑又白| 自拍偷拍国产| 亚洲精品国产嫩草在线观看| 福利91精品一区二区三区| 日韩小视频网址| 日本新janpanese乱熟| 天堂中文网在线| 日韩精品影院| 91欧美一区二区| 性欧美暴力猛交69hd| 日批视频在线看| 乳奴隷乳フ辱| 国产一区二区区别| 91久久一区二区| 日韩欧美三级一区二区| 91porny九色| 天堂亚洲精品| www.日本不卡| 欧美诱惑福利视频| 人与嘼交av免费| 1024在线视频| 亚洲狼人在线| 日本一区二区高清| 日韩一区二区视频在线观看| 亚洲午夜精品久久久久久浪潮| 波多野结衣日韩| 麻豆福利在线观看| 久久这里都是精品| 国产精品久久一| 日韩a级片在线观看 | 亚洲精品97久久久babes| 黄色综合网站| 日韩精品中文字| 蜜桃免费在线视频| 日日爽夜夜爽| 97偷自拍亚洲综合二区| 精品久久一二三区| 无限资源日本好片| www.777色| 国产日韩1区| 欧美成人高清视频| 成都免费高清电影|