漏洞利用与安全加固

Posted 低语C·A·G

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了漏洞利用与安全加固相关的知识,希望对你有一定的参考价值。

漏洞利用与安全加固

历史

Web1.0时代(静态页面):html或者htm

Web2.0时代(动态页面):asp、aspx、php、jsp等

特点:1.依赖数据库

            2.灵活性好,维护简便

            3.交互性好,功能强大

           4.存在安全风险,例如注入、跨站、上传等攻击

攻击方式

  • SQL注入攻击
    定义:程序中对用户输入检查不严格,用户可利用应用程序根据提交的数据动态生成                      SQL命令的特性,在URL、表单域,或者其他的输入域中输入自己的SQL命令,改变SQL命令的操作,将被修改的SQL命令注入到后端数据库引擎执行。

原因:使用字符串拼接的方式构造SQL语句

           未对用户可控参数进行足够的过滤

方式:

A.内联式

B.终止式

实验:SQL注入防范

要求:a. 用户登录界面用户名处输入万能密码admin' or 1=1 --', 密码处输入任意字符。

           b. 修改登录模块的SQL查询相关语句。

String sql="select * from tb_user where user_name='"+params[0]+"' and user_pswd='"+params[1]+"'";
List list=getList(sql,null);

          c. 再次运行。

原因:使用PreparedStatement方法完成SQL语句的执行,该方法要求在执行SQL语句之前,必须告诉JDBC哪些值作为输入参数.

结果:解决了普通Statement方法的注入问题,极大的提高了SQL语句执行的安全性。

  • XSS跨站脚本

反射型

存储型

实验:xss跨站防范

content=content.replace("<","&lt;");
content=content.replace(">","&gt;");

要求:用户提交留言和评论信息时将<和>分别替换为&gt;和&lt;

原因:在HTML中,某些字符是预留的。在解析他们时会误认为它们是标签。如果希望正确地显示预留字符,我们必须在HTML源代码中使用字符实体(character entities)。

上传漏洞

上传功能是用户与服务器进行文件交互的重要手段。

文件上传攻击是指攻击者利用Web应用对上传文件过滤不严的漏洞。

Webshell

攻击条件

       目标网站具有上传功能且木马能够成功上传。

      上传的目标文件能够被Web服务器解析执行。

      知道文件上传到服务器后的存放路径和文件名称。

     目标文件可被用户访问。

以上是关于漏洞利用与安全加固的主要内容,如果未能解决你的问题,请参考以下文章

漏洞利用与安全加固

Apache漏洞利用与安全加固实例分析

金融信息安全之漏洞利用与安全加固

SMB远程代码执行漏洞(CVE-2020-0796)分析验证及加固

Drupal 网站漏洞修复以及网站安全防护加固方法

网站代码sql注入攻击漏洞修复加固防护措施