DVWA练习-Cross Site Request Forgery

由於浏览器请求会自动包含与站点关联的任何凭据
多数站点继承了受害者的身份和特权,如Session cookie
如果使用者已通过了身份验证,站点将无法区分伪造请求和合法请求

利用受害者尚未失效的身份认证资讯(cookie、Session等)
诱骗其点选恶意连结或者访问包含攻击程序码的页面
在受害人不知情的情况下以受害者的身份向服务器传送请求
完成非法转帐等恶意的动作

  • HTTP GET 请求
    • 用於从Web服务器请求
    • 我们在Web浏览器中输入网站URL时,指示浏览器向托管该网站的服务器发送请求回应,并於浏览器呈现
  • HTTP POST 请求
    • 用於发送要在 Web应用程序上发布的内容
    • 於提交Web表单时,浏览器会生成一个POST请求,内容包含通过Web表单提交的数据

可以利用社交工程,来引诱受害者点击URL
发送一封带有此恶意URL内容的邮件鼓励使用者点击
点击後受害者可能看不见任何结果
但此时动作已经执行完毕
CSRF并没有盗取cookie而是直接利用现有的session阶段

当使用者已登入了这个网站时
我将下面这串内容贴给对方
http://172.17.0.2/vulnerabilities/csrf/?password_new=12345&password_conf=12345&Change=Change#
对方点击後,他的密码即会被改成12345。

我将网址列的password_new=11111&password_conf=11111&Change=Change#
修改後送出

密码则改由11111进行登入,而非一开始提供设定的12345


由於使用者必须在已经过身分验证的状态,才会有CSRF成立的机会
尽量避免使用自动登入
若没有活动时记得执行登出

得以加强使用者身分的辨识机制
可以在浏览器上设置SameSite cookie
让服务器没办法从cookie来得到Session ID


<<:  Day014 X Code Splitting & Dynamic Import

>>:  【Day14】Git 版本控制 - 建立分支(branch)

成为工具人应有的工具包-02 BrowsingHistoryView

BrowsingHistoryView 好的,就从 NirSoft 官网的 Forensics 分类...

Day18 - [丰收款] 提供信用卡付款以及取得PayToken流程

在我们花了不少时间终於完整的完成ATM付款并成功架设Heroku网站後取回PayToken,更新付款...

【Day12】Git 版本控制 - git checkout 移动 head

什麽是 head? 我们在 commit 版本时,其实是将档案 commit 到一条 branch(...

DAY20聚类演算法(DBSCAN)

昨天介绍完kmeans演算法程序,今天就要介绍DBSCAN演算法: 基本上他是根据资料点的密度进行聚...

【Vue】将元件输出到画面|专案实作

输出完 header 元件後,试着在 App.vue 引入 TaiHeader.vue。 App.v...