漏洞利用与安全加固
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("<","<");
content=content.replace(">",">");
要求:用户提交留言和评论信息时将<和>分别替换为>和<
原因:在HTML中,某些字符是预留的。在解析他们时会误认为它们是标签。如果希望正确地显示预留字符,我们必须在HTML源代码中使用字符实体(character entities)。
上传漏洞
上传功能是用户与服务器进行文件交互的重要手段。
文件上传攻击是指攻击者利用Web应用对上传文件过滤不严的漏洞。
Webshell
攻击条件
目标网站具有上传功能且木马能够成功上传。
上传的目标文件能够被Web服务器解析执行。
知道文件上传到服务器后的存放路径和文件名称。
目标文件可被用户访问。
以上是关于漏洞利用与安全加固的主要内容,如果未能解决你的问题,请参考以下文章