前面大致讲解了下客户端的安全漏洞,现在来讲解下服务端的安全漏洞。

  1、SQL注入(SQL Injection),是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击。

这里举个例子:

下面这个是一个正常的登录,密码为MD5加密,用户在界面输入用户名和密码后,通过post请求将值传入到后台服务器,最终通过拼接好的sql进行查询,查询返回正确则登录成功。

那么sql注入是怎么做的呢?由下图我们知道,我们用户名输入的是admin' -- ,而密码却无任何输入,“--”为注释的意思,当传入这个后,登录查询的sql就跟图中一致,导致不用输入密码也可登陆成功。

SQL注入必备条件:

  • 可以控制输入的数据
  • 服务器要执行的代码拼接了控制的数据

SQL注入的本质:

  • 数据和代码未分离,即数据当做了代码来执行

  2、命令注入

  • 命令注入解析:

  • 命令注入的过程:

案例:

后台代码如下:

访问页面结果如下:

命令(在url后写 " & dir "./)注入后:

  3.文件操作

常见文件操作:

  • 文件上传(上传头像、上传附件) ->上传Webshell、上传木马(漏洞上传操作)
  • 文件下载(下载应用、下载附件) -> 下载系统任意文件、下载程序代码(漏洞下载操作)

常见文件操作漏洞:

  • 文件上传漏洞
  • 任意文件下载
  • 文件包含漏洞

  3.1  文件上传漏洞讲解:

  上传“恶意构造文件”,此文件可执行,上传后打开上传文件的地址,查看文件是否被执行,执行存在安全漏洞。

开发设计上传文件时未考虑如下两点就会造成上传漏洞:

  3.2  任意文件下载漏洞讲解:

  下载系统文件,复制文件地址后在浏览器中打开,修改地址后面的参数,看是否能拿到其他更多的信息,如果可以,存在安全漏洞。

  

  开发设计下载时未考虑如下两点就会造成下载漏洞:

  

  

  3.3  文件包含漏洞讲解:

文件包含分为:

  • 本地文件包含(包含的是本地服务器的一个文件)
  • 远程文件包含(通过各种协议引用的远程文件)

安全测试5_服务端的安全漏洞(SQL注入、命令注入、文件操作类)的更多相关文章

  1. Weblogic服务端请求伪造漏洞(SSRF)和反射型跨站请求伪造漏洞(CSS)修复教程

    一.服务端请求伪造漏洞 服务端请求伪造(Server-Side Request Forgery),是指Web服务提供从用户指定的URL读取数据并展示功能又未对用户输入的URL进行过滤,导致攻击者可借助 ...

  2. MVC文件上传09-使用客户端jQuery-File-Upload插件和服务端Backload组件让每个用户有专属文件夹,并在其中创建分类子文件夹

    为用户创建专属上传文件夹后,如果想在其中再创建分类子文件夹,该怎么做?可以在提交文件的视图中再添加一个隐藏域,并设置 name="uploadContext". 相关兄弟篇: MV ...

  3. MVC文件上传08-使用客户端jQuery-File-Upload插件和服务端Backload组件让每个用户有专属文件夹

    当需要为每个用户建立一个专属上传文件夹的时候,可以在提交文件的视图中添加一个隐藏域,并设置name="objectContext". 相关兄弟篇: MVC文件上传01-使用jque ...

  4. SSRF(服务端请求伪造)漏洞

    目录 SSRF SSRF漏洞的挖掘 SSRF漏洞利用 SSRF漏洞防御 SSRF SSRF(Server-Side Request Forgery,服务器端请求伪造)漏洞,是一种由攻击者构造请求,由服 ...

  5. linux服务端导入oracle数据库.sql脚本

    一般情况下,后缀名为.sql或者为记事本类型的文本脚本可以通过打开后复制或者直接在客户端打开执行,但如果脚本比较大时(比如文件达到几百M以上), 普通文本工具和数据库客户端都无法打开,哪怕可以打开,也 ...

  6. MQTT 2——服务端安装与客户端测试

    本篇记录一下MQTT服务器,客户端,JAVA客户端的选择开发与测试 MQTT服务端选择与安装过程:MQTT客户端测试工具安装与测试:MQTT JAVA客户端的选择与开发,测试 MQTT服务器选择与安装 ...

  7. iOS推送小结(证书的生成、客户端的开发、服务端的开发)

    1.推送过程简介 1.1.App启动过程中,使用UIApplication::registerForRemoteNotificationTypes函数与苹果的APNS服务器通信,发出注册远程推送的申请 ...

  8. iOS开发推送--客户端 服务端

    1.推送过程简介 (1)App启动过程中,使用UIApplication::registerForRemoteNotificationTypes函数与苹果的APNS服务器通信,发出注册远程推送的申请. ...

  9. Egg + Vue 服务端渲染工程化实现

    在实现 egg + vue 服务端渲染工程化实现之前,我们先来看看前面两篇关于Webpack构建和Egg的文章: 在 Webpack工程化解决方案easywebpack 文章中我们提到了基于 Vue ...

随机推荐

  1. java-shiro登录验证

    登录验证: LoginController:(LoginController.java) @ResponseBody @RequestMapping(value="/login", ...

  2. Spring整合Hibernate(转)

    概述 Spring整合Hibernate有什么好处? 1.由IOC容器来管理Hibernate的SessionFactory 2.让Hibernate使用上Spring的声明式事务 整合步骤 整合前准 ...

  3. 升级ambari、HDP版本(ambari 2.1升级到2.4、HDP2.3升级到2.5)

    转载自:http://blog.csdn.net/levy_cui/article/details/52461377 官方升级版本说明 http://docs.hortonworks.com/HDPD ...

  4. 网易云课堂Dubbo学习笔记

    可以在这里下载dubbo的原码:https://github.com/alibaba/dubbo Dubbo架构原理:

  5. B.A.T.M.A.N

    参考: http://wiki.openwrt.org/doc/howto/mesh.batman?s[]=batmand The Better Approach To Mobile Adhoc Ne ...

  6. python cntl使用

    import sys 2 import time 3 import fcntl 4 5 class FLOCK(object): 6 7 def __init__(self, name): 8 sel ...

  7. 1、Dreamweaver+php开发网站第一步

    1.首先在appserv目录下的www中建立一个网站文件夹,例如test 2.在Dreamweaver中的站点下新建站点进行配置,其中站点选项和服务器选项都要配置. 3.然后在Dreamweaver中 ...

  8. php mongo类

    看了好多mongo类都不尽人意.最后发现根本不需要自己封装类.php mongo 的扩展自带的方法就已经很方便了 但是习惯性的把数据库连接部分封装起来.最后我就封装了一个单例模式的数据库类 使用单例模 ...

  9. VS中的类模板

    在目录C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ItemTemplates\CSharp\Co ...

  10. table 设置每列的颜色

    ISBN Title Price 3476896 My first HTML $53 5869207 My first CSS $49   <!DOCTYPE html> <html ...