CSRF 漏洞测试

跨站点请求伪造 (CSRF)攻击利用 Web 浏览器的普遍接受逻辑在开放页面中管理用户会话。 标准是用户在当前使用的 Web 应用程序中只能有一个活动会话。 浏览器中任何新打开的选项卡都将自动使用已登录的用户的 Cookie。 攻击者最常使用此事实,在单击受害者有活动会话的页面上将触发哪些操作(例如密码更改)后,向受害者发送一个特别准备好的链接。


防止此类攻击通常是通过添加一个特殊的独特和不可预知的参数( 至少每个会话), 该参数粘附为敏感请求的变量(例如更改密码、添加新用户)以及其正确性由服务器验证。 不知道此令牌值的攻击者无法生成服务器不会因 反CSRF令牌不合规而拒绝的请求。


在测试的其中一个应用程序中,我发现了进行许多CSRF 攻击的可能性。 一个例子是在输入后准备一个专门制作的页面,由登录的用户代表用户提出更改密码的请求。 以下是此页面的代码以及负责提供新密码的参数。 请注意,以下打印件中的选定行显示了定义定义新密码的输入表单 字段的代码。


csrf波克密码更改请求

使用输入替换页面的用户的会话的自动发送请求如下所列情况:


主机:XXX
用户代理:莫齐拉/5.0 (X11;利努克斯x86_64;rv:45.0) 壁虎/20100101火狐/45.0
[...]
-----------------------------70124987214088125821572825923
内容处置:表单数据;名称="新密码
"csrf
[...]



作为响应,应用程序确认密码更改,该更改显示在以下屏幕截图中:


应用程序确认密码更改

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach (zero spamu!).
Dodatkowo otrzymasz, moją prywatną listę 15 najbardziej przydatnych narzędzi (wraz z krótkim opisem), których używam przy testach penetracyjnych.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Bookmark the permalink.

Podziel się swoją opinią na temat artykułu