前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >怎么防止sql注入攻击_网络安全的威胁

怎么防止sql注入攻击_网络安全的威胁

作者头像
全栈程序员站长
发布2022-11-17 16:06:15
6550
发布2022-11-17 16:06:15
举报

大家好,又见面了,我是你们的朋友全栈君。

文章目录

SQL注入

SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

个人理解: 用户通过浏览器访问网站,基本上很多的网站的数据都是保留在数据库中的,客户通过输入特定的数据特征利用网站开发者设计好的SQL查询语句进行对数据库中的数据进行查询,从而返回用户需要的数据,通过浏览器显示呈现到用户,达成整个的交付过程。

而SQL攻击就是在用户输入数据特征的时候,注入一些特殊的指令来破坏原本的SQL语句查询功能,从而使得一些功能失效或者查询到本来无法查询到的重要数据。 相关优质博客资料 (1)SQL注入是什么?

XSS攻击

XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。 (1)XSS攻击百度百科资料

CSRF攻击

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。

尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户的请求来利用受信任的网站。

与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。 CSRF百度百科资料 优质博客链接: 什么是 CSRF 攻击,如何避免?

网页木马

网页木马百度百科

网页木马的防护

网页木马的防范只靠杀毒软件和防火墙是远远不够的,因为一旦黑客使用了反弹端口的个人版木马(个人反汇编的一些杀毒软件无法识别的木马),那么杀毒软件和防火墙就无可奈何,所以,网页木马的防范要从它的原理入手,从根子上进行防范。

安装补丁 改名或卸载(反注册)最不安全的ActiveXObject(IE插件) 在系统中有些ActiveXObject会运行EXE程序,比如本文中“自动运行程序”代码中的Shell.application控件,这些控件一旦在网页中获得了执行权限,那么它就会变为木马运行的“温床”,所以把这些控件改名或卸载能彻底防范利用这些控件的网页木马。但是ActiveXObject是为了应用而出现的,而不是为了攻击而出现的,所有的控件都有它的用处,所以在改名或卸载一个控件之前,你必须确认这个控件是你不需要的,或者即使卸载了也不关大体的。

卸载(反注册)ActiveXObject过程如下:

第一步:在“开始”菜单上单击“运行”,输入“CMD”命令打开命令提示符窗口。

第二步:在命令提示符下输入“regsvr32.exe shell32.dll /u/s”,然后回车就能将Shell.application控件卸载。 如果日后我们希望继续使用这个控件的话,可以在命令提示符窗口中输入“regsvr32.exe shell32.dll /i/s”命令将它们重新安装(注册)。在上述命令中:“regsvr32.exe”是注册或反注册OLE对象或控件的命令,[/u]是反注册参数,[/s]是寂静模式参数,[/I]为安装参数。

改名

需要说明的是,改名一个控件时,控件的名称和CLSID(Class ID)都要改,并且要改彻底。下面仍以Shell.application为例来介绍方法。

第一步:打开注册表编辑器,查找“Shell.application”。用这个方法能找到两个注册表项:“{13709620-C279-11CE-A49E-444553540000}”和“Shell.application”。

第二步:把{13709620-C279-11CE-A49E-444553540000}改为{13709620-C279-11CE-A49E-444553540001},注意,不要和系统中的其它CLSID重复。

第三步:把“Shell.application”改名为“Shell.application_xxx”。以后用到这个控件的时候你使用这个名称就可以正常调用此控件了。

安全级别

有些网马只要调高IE的安全级别,或者禁用脚本,该网页木马就不起作用了。从木马的攻击原理我们可以看出,网页木马是利用IE脚本和ActiveX控件上的一些漏洞下载和运行木马的,只要我们禁用了脚本和ActiveX控件,就可以防止木马的下载和运行。

代码语言:javascript
复制
小提示:禁用脚本和ActiveX控件会使一些网页的功能和效果失去作用,所以是否禁用,你要根据自己对安全的需要来定。

第一步:在IE浏览器的菜单栏上选择“工具→Internet选项”打开“Internet选项”对话框。

第二步:在“安全”选项卡上,在Internet和本地Internet区域,分别把滑块移动到最高,或者点击“自定义级别”,在打开的对话框上禁用脚本,禁用ActiveX控件。

文件包含漏洞攻击

相关博客介绍

目录遍历攻击

相关博客介绍

CC攻击

CSDN上相关的博客和百度百科基本内容概括一致 CC攻击百度百科资料

DOS攻击

DOS攻击相关博客:https://blog.csdn.net/csdn10086110/article/details/90633296 DOS攻击和DDOS攻击

DOS攻击和CC攻击的区别

很多朋友都知道木桶理论,一桶水的最大容量不是由它最高的地方决定的,而是由它最低的地方决定,服务器也是一样,服务器的安全性也是由它最脆弱的地方决定的,最脆弱的地方有多危险服务器就有多危险。DDOS也是一样,只要你的服务器存在一个很耗资源的地方,限制又不够,就马上成为别人DDOS的对象。比如SYN-FLOOD,它就是利用服务器的半连接状态比完全连接状态更耗资源,而SYN发动方只需要不停的发包,根本不需要多少资源。

一个好的DDOS攻击必须是通过自己极少资源的消耗带来对方较大的资源消耗,否则比如ICMP-FLOOD和UDP-FLOOD都必须和别人一样大的带宽,对方服务器消耗多少资源自己也得赔上多少资源,效率极其低下,又很容易被人发现,现在基本没有什么人用了。 攻击原理

CC主要是用来攻击页面的。大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,对不?!一般来说,访问的人越多,论坛的页面越多,数据库就越大,被访问的频率也越高,占用的系统资源也就相当可观,现在知道为什么很多空间服务商都说大家不要上传论坛,聊天室等东西了吧。   一个静态页面不需要服务器多少资源,甚至可以说直接从内存中读出来发给你就可以了,但是论坛就不一样了,我看一个帖子,系统需要到数据库中判断我是否有读帖子的权限,如果有,就读出帖子里面的内容,显示出来——这里至少访问了2次数据库,如果数据库的体积有200MB大小,系统很可能就要在这200MB大小的数据空间搜索一遍,这需要多少的CPU资源和时间?如果我是查找一个关键字,那么时间更加可观,因为前面的搜索可以限定在一个很小的范围内,比如用户权限只查用户表,帖子内容只查帖子表,而且查到就可以马上停止查询,而搜索肯定会对所有的数据进行一次判断,消耗的时间是相当的大。CC就是充分利用了这个特点,模拟多个用户(多少线程就是多少用户)不停的进行访问(访问那些需要大量数据操作,就是需要大量CPU时间的页面)。很多朋友问到,为什么要使用代理呢?因为代理可以有效地隐藏自己的身份,也可以绕开所有的防火墙,因为基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood。   使用代理攻击还能很好的保持连接,我们这里发送了数据,代理帮我们转发给对方服务器,我们就可以马上断开,代理还会继续保持着和对方连接(我知道的记录是有人利用2000个代理产生了35万并发连接)。 加深理解:

我们假设服务器A对Search.asp的处理时间需要0.01S(多线程只是时间分割,对结论没有影响),也就是说他一秒可以保证100个用户的Search请求,服务器允许的最大连接时间为60s,那么我们使用CC模拟120个用户并发连接,那么经过1分钟,服务器被请求了7200次,处理了6000次,于是剩下了1200个并发连接没有被处理。 有的朋友会说:丢连接!丢连接!问题是服务器是按先来后到的顺序丢的,这1200个是在最后10秒的时候发起的,想丢?!还早,经过计算,服务器满负开始丢连接的时候,应该是有7200个并发连接存在队列,然后服务器开始120个/秒的丢连接,我们发动的连接也是120个/秒,服务器永远有处理不完的连接,服务器的CPU 100%并长时间保持,然后丢连接的60秒服务器也判断处理不过来了,新的连接也处理不了,这样服务器达到了超级繁忙状态。   我们假设服务器处理Search只用了0.01S,也就是10毫秒(这个速度你可以去各个有开放时间显示的论坛看看),我们使用的线程也只有120,很多服务器的丢连接时间远比60S长,我们的使用线程远比120多,可以想象可怕了吧,而且客户机只要发送了断开,连接的保持是代理做的,而且当服务器收到SQL请求,肯定会进入队列,不论连接是否已经断开,而且服务器是并发的,不是顺序执行,这样使得更多的请求进入内存请求,对服务器负担更大。  >当然,CC也可以利用这种方法对FTP进行攻击,也可以实现TCP-FLOOD,这些都是经过测试有效的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/213541.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022年10月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • SQL注入
  • XSS攻击
  • CSRF攻击
  • 网页木马
  • 文件包含漏洞攻击
  • 目录遍历攻击
  • CC攻击
  • DOS攻击
  • DOS攻击和CC攻击的区别
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档