SQL注入和XSS攻击

SQL注入: 所谓SQL注入,就是通过把SQL命令插入到提交的Web表单或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,导致数据库中的信息泄露或者更改。 防范: 1.永远不要信任用户的输入,将用户输入的数据当做一个参数处理: 使用参数化的形式,也就是将用户输入的东西以一个参数的形式执行,而不是将用户的输入直接嵌入到SQL语句中,用户输入就被限于一个参数。 2.避免提示详细的错误信息: 当用户输入错误的时候,避免提示一些详细的错误信息,因为黑客们可以利用这些消息,使用一种标准的输入确认机制来验证所有的输入数据的长度、类型、语句、企业规则等。 3. 加密处理: 将用户登录名称、密码等数据加密保存。加密用户输入的数据,然后再将它与数据库中保存的数据比较,这相当于对用户输入的数据进行了“消毒”处理,用户输入的数据不再对数据库有任何特殊的意义,从而也就防止了攻击者注入SQL命令。 4.确保数据库安全: 锁定你的数据库的安全,只给访问数据库的web应用功能所需的最低的权限,撤销不必要的公共许可,如果web应用不需要访问某些表,那么确认它没有访问这些表的权限。如果web应用只需要只读的权限,那么就禁止它对此表的 drop 、insert、update、delete 的权限,并确保数据库打了最新补丁。

##################################################################

XSS攻击(Cross Site Scripting), 中文名为跨站脚本攻击,指的是将xss代码植入到提供给其它用户使用的页面中,从而达到盗取用户信息和做一些违法操作,比如这些代码包括HTML代码和客户端脚本: 是发生在目标用户的浏览器层面上的,当渲染DOM树的过程成发生了不在预期内执行的JS代码时,就发生了XSS攻击。 跨站脚本的重点不在‘跨站’上,而在于‘脚本’上。大多数XSS攻击的主要方式是嵌入一段远程或者第三方域上的JS代码。实际上是在目标网站的作用域下执行了这段js代码。 1.一旦在DOM解析过程成出现不在预期内的改变(JS代码执行或样式大量变化时),就可能发生XSS攻击 2.XSS分为反射型XSS,存储型XSS和DOM XSS 3.反射型XSS是在将XSS代码放在URL中,将参数提交到服务器。服务器解析后响应,在响应结果中存在XSS代码,最终通过浏览器解析执行。 4.存储型XSS是将XSS代码存储到服务端(数据库、内存、文件系统等),在下次请求同一个页面时就不需要带上XSS代码了,而是从服务器读取。最典型的就是留言板XSS。用户提交了一条包含XSS代码的留言到数据库。当目标用户查询留言时,那些留言的内容会从服务器解析之后加载出来。浏览器发现有XSS代码,就当做正常的HTML和JS解析执行。XSS攻击就发生了。 5.DOM XSS攻击不同于反射型XSS和存储型XSS,DOM XSS代码不需要服务器端的解析响应的直接参与,而是通过浏览器端的DOM解析。这完全是客户端的事情。DOM XSS代码的攻击发生的可能在于我们编写JS代码造成的。我们知道eval语句有一个作用是将一段字符串转换为真正的JS语句,因此在JS中使用eval是很危险的事情,容易造成XSS攻击。避免使用eval语句

XSS的危害: 1.XSS危害有通过document.cookie盗取用户cookie 2.通过JS或CSS改变样式 3.流量劫持(通过访问某段具有window.kk定位到其他页面) 4.Dos攻击:利用合理的客户端请求来占用过多的服务器资源,从而使合法用户无法得到服务器响应。 5.利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作。 6.利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。

XSS的预防: 1.过滤危险的DOM节点。如具有执行脚本能力的script, 具有显示广告和色情图片的img, 具有改变样式的link, style, 具有内嵌页面的iframe, frame等元素节点。 2.过滤危险的属性节点。如事件, style, src, href等 3.对cookie设置httpOnly,对重要的cookie设置httpOnly,防止客户端通过document.cookie读取cookie。服务端可以设置此字段 5.对用户输入数据的处理,1.编码:不能对用户输入的内容都保持原样,对用户输入的数据进行字符实体编码 2.解码:原样显示内容的时候必须解码,不然显示不到内容了。3.过滤:把输入的一些不合法的东西都过滤掉,从而保证安全性。如移除用户上传的DOM属性,如onerror,移除用户上传的Style节点,iframe, script节点等。

受到xss攻击的网站事例: 1. 2011年6月新浪微博出现了一次比较大的XSS攻击事件。大量用户自动发送一些信息并关注一位名为hellosamy的用户,一个小时完成修复 2. 百度贴吧xss攻击事件 2014年3月六安吧等几十个贴吧中帖子不断转发,病毒循环发帖。并且导致吧务人员,和吧友被封禁

参考链接: https://www.cnblogs.com/unclekeith/p/7750681.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 11月7日python爬虫框架Scrapy基础知识

    爬虫最好的方式: 下载一页匹配一页,以后可以使用多线程让抓取页面和存储到数据库分开进行

    武军超
  • 11月9日python分布式爬虫

    实例方法, 静态方法, 类方法的区别 实例方法: 类中定义的普通方法,只能通过实例对象调用 静态方法: 静态方法主要是用来存放逻辑性的代码,逻辑上类型属于这...

    武军超
  • 11月10日python爬虫分析网页的模块lxml和Beautiful Soup

    format自动排列 # 定义文件存储的位置,原始的定义要改变的地方是定义在字符串中的 fileName = 'g:/spider/poetry/poe...

    武军超
  • 网络安全自学篇(十八)| XSS跨站脚本攻击原理及代码攻防演示(一)

    跨网站脚本(Cross-site scripting,XSS) 又称为跨站脚本攻击,是一种经常出现在Web应用程序的安全漏洞攻击,也是代码注入的一种。XSS是由...

    天钧
  • 跨站的艺术:XSS Fuzzing 的技巧

    Fuzzing(模糊测试)是挖掘漏洞最常用的手段之一,对于每一种漏洞,都有其 Fuzzing 的技巧,XSS 也是如此,在这篇文章里我将根据自己的经验与一起大家...

    云鼎实验室
  • 代码审计day7

    跨站脚本攻击( Cross Site Scripting )是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而...

  • Web安全测试基础一

    一、Web安全漏洞概念及原理分析 1.2 跨站脚本攻击(XSS) 概念:通常指黑客通过“HTML注入”篡改了网页,插入了恶意的脚本,从而在用户浏览...

    奶糖味的代言
  • 【基本功】 前端安全系列之一:如何防止XSS攻击?

    当当当当,我是美团技术团队的程序员鼓励师美美~“基本功”专栏又来新文章了,这次是一个系列,一起来学习前端安全的那些事。我们将不断梳理常见的前端安全问题以及对应的...

    美团技术团队
  • 安全|常见的Web攻击手段之XSS攻击

    黄小怪
  • PCIe系列第六讲、PCIe的数据链路层

    本章将着重讲述TLP的数据链路层组成与操作,上一篇更新应该为第五讲,数据链路层位于事务层和物理层之间,使用容错和重传机制保证了数据传输的完整性和一致性,此外,数...

    根究FPGA

扫码关注云+社区

领取腾讯云代金券