web 安全

WEB安全

索引

  • SQL脚本注入
  • XSS 跨站脚本攻击
  • CSRF跨站请求伪造
  • HTTP劫持
  • DDOS攻击
  • 其他

SQL脚本注入

危险级数☆☆☆☆☆☆
简介:SQL脚本注入,就是在请求URL的参数中传入SQL语句,然后导致DAL中的语句+注入的SQL语句连接上DB进行SQL语句的执行;
攻击力:轻则数据暴露,刷爆数据库,重则表数据被恶意编辑,删除,或者表被删除;
情景:http://wwww.xxx.com/search?title=123 进行标题内容的查询,如果DAL层中的语句使用拼接的方式去写,如:

//DAL
public List<MDatas> searchs(var title=""){
    if(title.isNullOrEmpty())reurn;
    var sqlStr=@"
        select fields 
        from tablename
        where title title='"+title+"'";
    //下面 链接DB执行语句返回数据table绑定对象集合 省略。。。
    //....
}

当我请求数据接口的时候:http://wwww.xxx.com/search?title=1’ or 1=1; - -
这个时候就会查出所有的表数据,如果我在后面插入一条删除表的语句,等。。。危险的SQL语句,那就GAME OVER了。

防御:.net本身有这个安全机制,只要传入的参数是有SQL,或者JavaScript会提示危险参数,可以通过配置webconfig,或者路由方法的属性来开启和关闭。但是最保险的方案还是要自己平时在写DAL的时候要注意,SQL语句不要使用拼接的方式,都使用参数化的方式,这样就不会出现SQL注入的问题了;如:

//DAL
public List<MDatas> searchs(var title=""){
    if(title.isNullOrEmpty())reurn;
    var sqlStr=@"
        select fields 
        from tablename
        where title title=@title;
    //下面 链接DB执行语句返回数据table绑定对象集合 省略。。。
    //....
}


XSS 跨站脚本攻击

危险级数☆☆☆☆☆☆
简介:跨站的脚本攻击,就是在请求URL参数中,或者form提交的内容中注入JavaScript脚本;
攻击力:轻则用户体验异常弹窗,重则用户cookie数据被盗取,引导用户到非法地址;
场景:http://www.xx.com/userinfo/?username=吊毛&description=sb

userinfo视图:

<!-- 省略顶部 -->
<div>
    <p>@username<p>
    <p>@description</p>
</div>
<!-- 省略底部 -->

当我修改参数:http://www.xx.com/userinfo/?username=吊毛&description=sb<script type="text/javascript">alert('sb')</script>

userinfo视图:

<!-- 省略顶部 -->
<div>
    <p>吊毛<p>
    <p>
        sb
        <script type="text/javascript">alert('sb')</script>
    </p>
</div>
<!-- 省略底部 -->

这个时候把这个地址分享给别人,他一打开就会弹出一个弹窗;如果这个时候我注入的脚本是获取cookie到我的接口,然后把地址分享给其他的用户,这样就可以通过获取到的cookie模拟用户的登陆了;form提交就不举例了,也是一样,就是提交的内容里输入JavaScript 脚本,然后绑定内容的时候没有进行处理,这样就会导致上面一样的问题。

防御:在视图绑定数据的时候(前端拼接,或者服务端脚本绑定)需要对数据进行HTML编码结果如:

<!-- 省略顶部 -->
<div>
    <p>吊毛<p>
    <p>
        sb
        &lt;script type=&quot;text/javascript&quot;&gt;alert(&#39;sb&#39;)&lt;/script&gt;
    </p>
</div>
<!-- 省略底部 -->


CSRF跨站请求伪造

危险级数☆☆☆☆☆☆
简介:跨站请求伪造,就是当A站用户未退出的情况下,通过其他非法B站发起非法请求来触发A站的请求操作;用户在不知情的请求下被诱导操作
攻击力:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账,个人隐私泄露以及财产安全
情景:此图引用hyddd博客
具体可以看博文
防御:用户进入操作页面的时候绑定令牌到隐藏input,服务端进行令牌的校验,重要的操作,如:提现,充值,等,添加验证码


HTTP劫持

危险级数☆☆☆☆
简介:你打开的是百度的页面,右下角弹出唐老师的不孕不育广告。
攻击力:注入广告
情景:在公共场所有很多免费的WIFI,有些免费的WIFI会对HTTP进行劫持,然后修改html注入广告,网络供应商也会进行HTTP劫持 ,如使用移动网络的时候经常会出现移动广告
防御:可以将HTTP替换成HTTPS这样,劫持后没有证书无法进行解密,就无法注入广告了。


DOSS攻击

危险级数☆☆☆☆☆☆☆
简介:分布式拒绝服务攻击,俗称洪水攻击,通过木马寄生在用户机子,当成肉机,需要的时候发起群攻
攻击力:刷爆服务器
防御:需要再服务器部署安全防火墙。
分布式微服务企业级系统是一个基于Spring、SpringMVC、MyBatis和Dubbo等技术的分布式敏捷开发系统架构。该系统采用微服务架构和模块化设计,提供整套公共微服务模块,包括集中权限管理(支持单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等功能。系统支持服务治理、监控和追踪,确保高可用性和可扩展性,适用于中小型企业的J2EE企业级开发解决方案。 该系统使用Java作为主要编程语言,结合Spring框架实现依赖注入和事务管理,SpringMVC处理Web请求,MyBatis进行数据持久化操作,Dubbo实现分布式服务调用。架构模式包括微服务架构、分布式系统架构和模块化架构,设计模式应用了单例模式、工厂模式和观察者模式,以提高代码复用性和系统稳定性。 应用场景广泛,可用于企业信息化管理、电子商务平台、社交应用开发等领域,帮助开发者快速构建高效、安全的分布式系统。本资源包含完整的源码和详细论文,适合计算机科学或软件工程专业的毕业设计参考,提供实践案例和技术文档,助力学生和开发者深入理解微服务架构和分布式系统实现。 【版权说明】源码来源于网络,遵循原项目开源协议。付费内容为本人原创论文,包含技术分析和实现思路。仅供学习交流使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值