漏洞利用与安全加固

攻击方式

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服务器解析执行。

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

     目标文件可被用户访问。
————————————————
版权声明:本文为CSDN博主「低语C·A·G」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_48080785/article/details/116483146

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值