CSRF(Cross-site request forgery)
                        程序开发
                        2023-09-23 12:17:55 
                    
                    CSRF
什么是CSRF
CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。
利用方法
index.jsp
 CSRF Test 
 
 
 
 
  
 TransferServlet
@WebServlet("/Transfer")
 public class TransferServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String target = request.getParameter("target");String money = request.getParameter("money");PrintWriter writer = response.getWriter();writer.println("target:"+target+",money:"+money);}
 }
  
 hack.html
 
 csrf hack 
 
 
 
 
  
 正常流程如下:
 输入转账账户和金额进行转账
 
 转账成功
 
 但是如果直接访问工作者伪造的网址则直接转账成功
 通过以上例子,攻击者通过构造请求包,诱导用户点击导致直接转账成功。
这个例子中没有用到cookie判断用户身份,因为cookie对于csrf相当于不存在的,浏览器会自己提交cookie上去进行身份验证。我们登陆网站后,网站会给我们个cookie,当用户对网站进行操作的时候,浏览器会直接带上当前网站的cookie,但是如果该网站存在csrf,攻击者构造了请求,当你点击后,浏览器也会带上目标网站的cookie。
进阶
防御
想要防御csrf就要想办法让攻击者构造不了所有的参数。
标签:
                            上一篇:
                             javascript回到顶部
                                                        下一篇:
                                                    
                        相关文章
- 
                    			无相关信息                            
 
