常见漏洞复习(持续更新)

XSS 跨站脚本攻击 Cross Site Scripting

攻击者在web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中web里面的Script代码会被执行,从而达到恶意攻击用户的目的

类型:

存储型 持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,插入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中

反射型 非持久化,需要欺骗用户点击链接才会触发xss代码(服务器中没有这样的页面和内容),易出现在搜索页面

DOM型 不经过后端,DOM-XSS漏洞是基于文档对象模型(Document Objeet Model,DOM)的一种漏洞,DOM-XSS是通过url传入参数去控制触发的,其实也属于反射型XSS。

XSS绕过经验总结
来自 https://blog.csdn.net/weixin_47168538/article/details/107164233

https://blog.csdn.net/qq_35393693/article/details/86597707

upload文件上传/文件包含

和sql注入等攻击方式一样,文件包含也属于一种”注入性漏洞“,其本质就是输入一段用户能够控制的脚本或者代码,并让服务器端执行。
包含,以PHP为例,我们常常把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,而无需再次编写函数,这一过程就叫做包含。

有时候由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,就导致攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。

PHP中文件包含函数有以下四种:
require()
require_once()
include()
include_once()
include和require区别主要是,include在包含的过程中如果出现错误,会抛出一个警告,程序继续正常运行;而require函数出现错误的时候,会直接报错并退出程序的执行。
而include_once(),require_once()这两个函数,与前两个的不同之处在于这两个函数只包含一次,适用于在脚本执行期间同一个文件有可能被包括超过一次的情况下,你想确保它只被包括一次以避免函数重定义,变量重新赋值等问题。(也就是唯一区别是如果该文件中的代码已经被包含,则不会再次包含。)

来自 https://www.freebuf.com/articles/web/182280.html

PHP伪协议

csrf跨站点请求伪造 Cross Site Request Forgery

利用受害者未失效得到身份认证信息(cookie,会话等)诱惑其点击恶意链接或访问包含攻击的页面
然后在受害人不知情的情况下以受害者的身份向服务器发送请求,从而完成非法操作
与xss的区别在于是直接利用了cookie而非盗取

例:
受害者:Bob
黑客:Mal
银行:bank
bob在银行有一笔存款,可以通过请求http://bank.example/withdraw?account=bob&amount=1000000&for=bob2把钱转到bob2下。通常情况下,该请求到达网站后,服务器会验证请求是否来自一个合法的session,并且该session的用户Bob已登录。Mal在该银行也有账户,于是他伪造了一个地址http://bank.example/withdraw?account=bob&amount=1000000&for=mal,但是如果直接访问,服务器肯定会识别出当前登录用户是mal而不是Bob,不能接受请求。于是通过CSRF攻击方式,将此链接伪造在广告下,诱使Bob自己点这个链接,那么请求就会携带Bob浏览起的cookie一起发送到银行,而Bob同时又登录了银行或者刚刚登录不久session还没有过期,那服务器发现cookie中有Bob的登录信息,就接收了响应,攻击就成功了

防御策略:
1.
在http请求头中的referer携带请求来源

2.添加token验证

https://www.cnblogs.com/xlyslr/p/5714048.html

https://www.cnblogs.com/qmfsun/p/5779469.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值