CSRF

  • 含义

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

  • 场景模拟
  1. a欠b 1000元钱, 在银行转账给b,  a的浏览器执行的操作是: http://www.bank.com/transfer.php?from=a&money=1000&to=b
  2. 这个时候,c想要攻击a,他执行了下面的代码http://www.bank.com/transfer.php?from=Alice&money=9999&to=Cathy 当然,结果是失败的,浏览器会记住a的session_id,而c通过浏览器的cookie带过去的session_id当然不是a的,所以失败。
  3. c又想了一个方法, 写了一个网页, 访问方法是:www.c.com/choujiang.p…, 用抽奖来吸引a, choujiang.php的代码是:
<html>
<body>
<form method="get" action="http://www.bank.com/transfer.php"><input type="hidden" name="from" value="a"><input type="hidden" name="money" value="1000"><input type="hidden" name="to" value="c"><input type="button" onclick="submit()" value="活动抽奖">
</form>
</body>
</html>
复制代码
  1. 只要a点击了http://www.c.com/choujiang.php, 就会在自己的浏览器页面显示一个抽奖按钮。  如果a刚给b转账完毕, 又点击了这个抽奖按钮, 就相当于a的浏览器发起了如下请求: http://www.bank.com/transfer.php?from=a&money=1000&to=c 这时, 银行后台服务器从http的cookie中识别出确实是a在转账给c, 是合理操作。但是,a并不知情

XSS(可以分为反射型xss攻击存贮型xss攻击

  • 含义

XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

  • 场景模拟
  1. 反射型xss攻击 正常发送消息: http://www.test.com/message.php?send=Hello 接收者将会接收信息并显示Hello 非正常发送消息: http://www.test.com/message.php?send=<script>alert(‘foolish!’)</script> 这时接收者的窗口就会弹出foolish弹窗。 以上,只是简单的示例,实际上,xss攻击可以做得更加复杂,窃取用户账号密码也是正常的

  2. 存贮型xss攻击 在输入框里填写you are foolish! 那么表单里要发送的的input框就会变成这样 <input type=“text” name=“content” value="you are foolish!"> 不做任何过滤的话,这个会当成正常数据入库 当要用到这个数据,从库取出来的时候,就会出现you are foolish的弹窗。

SQL注入

  • 含义

所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.

  • 场景模拟
  1. 和存贮型xss攻击的例子本质上是一样的
  2. 假如现在php的登录代码是这样的 $sql = "select * from user where username = 'a' and pwd = md5(123456) 然后在前端密码的输入框里填写' or 1 = 1#,那么sql语句就会变成$sql = "select * from user where username = '' or 1 = 1#' and pwd = md5(123456) #在sql的意思是注释,后面的sql不会再执行 所以,$sql = "select * from user where username = '' or 1 = 1 登录成功。

转载于:https://juejin.im/post/5c03bc6b6fb9a049b347ba1e

CSRF, XSS, Sql注入原理和处理方案相关推荐

  1. 万字讲解9种Web应用攻击与防护安全。XSS、CSRF、SQL注入等是如何实现的

    OWASP(开放Web软体安全项目- Open Web Application Security Project) 是一个开源的.非盈利的全球性安全组织,致力于应用软件的安全研究.使命 是使应用软件更 ...

  2. SQL注入原理、过程、防御方案、RASP概念

    一.sql注入原理 SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的语句上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此 ...

  3. java 最新sql注入原因以及预防方案(易理解)

    前沿 在现有的框架中sql防注入已经做得很好了,我们需要做的就是尽量不要使用sql拼接调用 java sql注入原因以及预防方案(易理解) 1. SQL注入 1.1 原理 SQL注入是通过客户端的输入 ...

  4. 安全架构-SQL注入原理及防范

    安全架构系列文章 SQL注入原理及防范 文章目录 安全架构系列文章 前言 一.sql注入是什么? 二.防范方法 1.Java处理 2 .NET处理 总结 前言 一.sql注入是什么? SQL注入是通过 ...

  5. sql注入原理及解决方案

    sql注入原理及解决方案 参考文章: (1)sql注入原理及解决方案 (2)https://www.cnblogs.com/huzi007/p/6370732.html 备忘一下.

  6. Java程序员从笨鸟到菜鸟之(一百)sql注入攻击详解(一)sql注入原理详解

    前段时间,在很多博客和微博中暴漏出了12306铁道部网站的一些漏洞,作为这么大的一个项目,要说有漏洞也不是没可能,但其漏洞确是一些菜鸟级程序员才会犯的错误.其实sql注入漏洞就是一个.作为一个菜鸟小程 ...

  7. sql注入***原理

    sql注入***原理: 是数据库的安全漏洞.网站服务器端语言自身的缺陷以及程序设计过程中,对安全方面,考虑不足或者是不全面导致对输入字符串中夹带的sql指令的检查,从而是数据库受到***,包括数据库的 ...

  8. mysql 绕过select报错_Web安全之SQL注入(原理,绕过,防御)

    首先了解下Mysql表结构 mysql内置的information_schema数据库中有三个表非常重要 1 schemata:表里包含所有数据库的名字 2 tables:表里包含所有数据库的所有的表 ...

  9. SQL注入原理及联合查询

    1.SQL注入原理: 用户输入的数据被当做SQL语句进行执行 条件:①用户能控制输入的数据 ②原本程序要执行的代码,拼接了用户输入的数据然后执行 如何检测SQL注入: ①:and 1=1  页面正确 ...

最新文章

  1. Spring学习-理解IOC和依赖注入
  2. tapable源码分析
  3. 数据库知识点4——关系代数中易错题的总结
  4. 模型部署到移动端_Pytorch1.4来了!定制移动端构建、支持分布式模型并行训练等...
  5. even though storm
  6. linux是32还是64位,如何看linux是32位还是64位
  7. Boosting集合算法详解(一)
  8. Android平台和java平台 DES加密解密互通程序及其不能互通的原因
  9. nginx搭建网关服务器
  10. Java终止线程的三种方式
  11. python123.io简单编程题合集
  12. makefile编写---:= ?= += =的区别
  13. 简述const修饰符在类中的用法
  14. AE、PR视频压缩导出mp4、mov格式插件:AfterCodecs1.6.1汉化破解版
  15. 计算机看游戏显卡,如何看电脑显卡性能
  16. arm搭建云手机教程_自己能不能搭建云手机平台?
  17. 2021 年高教社杯全国大学生数学建模竞赛 E 题 中药材的鉴别 第一题
  18. 如何制作启动U盘安装系统?
  19. WINDOWS文件夹下的应用程序
  20. 如何设置微信公众号在被添加关注之后, 自动回复文字和图片两条消息

热门文章

  1. 中国棉纺织工业发展状况及未来竞争格局报告2022-2028年
  2. 数组与指针的艺术--深入探索c/c++数组与指针的奥秘
  3. java如何把文件中的内容存到一个动态数组arraylist中_如何动态地向Java中的数组添加项目?...
  4. 对话农民丰收节交易会-农业大健康·弘本农业:功能农业扶贫
  5. 二年级的数学题,10个人有9个人做错,你能做对吗?
  6. 如何避免HBase写入过快引起的各种问题
  7. POJ 1091 跳蚤
  8. 一位大学教授学习数学的体会
  9. VS2012+7600配置驱动环境
  10. 运营商与SP再次博弈手机广告