当前位置:   article > 正文

将安全信息应用到以下对象时发生错误 拒绝访问_三、WEB安全基础

安全信息应用到对象时发生错误,拒绝访问

4ad9cae1f27272e43005ca742989eec2.png

一、OWASP Top 10

test1:请将以下漏洞归入OWASP Top 10 2017的十个分类里:

1. SQL注入=A1—注入

2. Redis未授权访问=A4—失效的访问控制

3. 破壳漏洞

4. phpinfo信息泄露=A6—敏感信息泄漏

5. Jekins反序列化漏洞=A10—未受到充分保护的API

test2:针对TOP10查找相关的防御方法

A1—注入

1.使用安全的API,避免使用解释器或提供参数化的接口(prepared statements,or stored procedures)

2.使用白名单来规范化的输入验证方法

3.对输入的特殊字符进行Escape转义处理

4.权限最小化,减轻被注入的影响

A2—失效的身份认证和会话管理

1.使用简单集中标准化的认证方式;

2.确保SSL在任何时候都会保护会话;

3.使用会话管理功能;

A3—跨站脚本(XSS)

1.对所有不可信的输入数据进行恰当的转义escape

2.使用白名单的具有恰当的规范化解码功能的输入验证方法

3.使用内容安全策略(CSP)来抵御整个站点的攻击

A4—失效的访问控制

1.使用基于用户或会话的间接对象访问, 防止攻击者直接攻击未授权资源.

2.访问检查:对任何来自不受信源所使用的所有直接对象引用都进行访问控制检测,确保用户对要求的对象有访问权限

A5—安全配置错误

1.及时了解并部署每个环境的软件更新和补丁信息,包括所有的代码库。(自动化安装部署)

2.统一出错处理机制,错误处理会向用户显示堆栈跟踪或其他过于丰富的错误消息信息。

3.使用提供有效分离和安全性强大的应用程序架构。

A6—敏感信息泄漏

1.加密存储和传输所有的敏感数据

2.确保使用合适强大的标准算法和密钥,并且密钥管理到位

3.确保使用密码专用算法存储密码

4.及时清除没有必要存放的重要的/敏感数据

5.禁用自动收集敏感数据,禁用包含敏感数据的页面缓存

A7—攻击检测与防护不足

1.检查管理权限的过程并确保能够容易进行升级和审计,切忌硬编码。

2.默认缺省情况下,应该拒绝所有访问的执行权限。

3.对于每个功能的访问,需要明确的角色授权。检查每个功能分配的权限合理有效。

A8—跨站请求伪造(CSRF)

1.给每个HTTP请求添加一个不可预测的令牌,并保证该令牌对每个用户会话来说是唯一性。最好是将独有的令牌包含在隐藏字段中,通过HTTP请求发送,避免在URL中暴露出来。

2.要求用户重新认证或者判断他们是一个真实的用户。

A9—使用含有已知漏洞的组件

1.标识正在使用的所有组件和版本,包括所有依赖项

2.及时关注这些组件的安全信息并保证他们是最新的。

3.建立使用组件的安全策略,禁止使用未经安全评估的组件。

4.在适当情况下,对组件进行安全封装,精简不必要的功能,封装易受攻击部分

A10—未受到充分保护的API

1.避免使用重定向和转发

2.如果使用了重定向和转发,则不要在确定目标时涉及到用户参数。

3.如果无法避免使用目标参数,则应确保目标参数值对于当前用户是有效的并已授权。

二、XSS入门及介绍

test1:基于靶场进行XSS攻击的体验,通过自己构造攻击代码触发页面弹框。靶场:https://xss.twosecurity.xyz/topic1?name=1

1、XSS输出在html中

通过在链接中加入script标签实现alert方法,从而实现弹窗

<script>alert("Hello 47")</script>

6143df1c129fe6c92b73d9833b35ad36.png

2、XSS输出在HTML属性中

通过修改html代码,比如直接增加一个img标签来执行alert弹窗

<img src=# οnerrοr=alert(47) />

957fd29eb980e19c7487937d9bba7a3f.png

3、XSS输出在script标签中

一开始看代码的时候,发现script标签不是闭合了吗?然后就在里面弄弹窗了,结果gg,经过多次不同的尝试还是不行,不懂为什么????

最后就直接在script标签上面直接写<img src=# οnerrοr=alert(47) /> 没想到行了,希望有大神能解释一下

efb30829f2afcd2b809ceec270b5b653.png

4、XSS在input value中的情况

通过百度查到这个onmouseover事件:当鼠标移到标签上时就会触发onmouseover事件,并且执行onmouseover调用的程序

οnmοuseοver="alert(47)"

e61edf6564bca1a67b904c72221f6d18.png

5、XSS输出在inner HTMl标签中的情况

οnmοuseοver="alert(47)"

c80c8940e54abce8cf2b462e599d872f.png

三、XSS攻击与防御作业

test1:通过网上开放注册的XSS盲打平台(可以选用http://x55.me)或者自己通过开源XSS项目部署一个XSS平台,然后创建个项目并尝进行测试

通过本地搭建的dvwa靶场测试XSS盲打平台的项目

24859656fe40cee8cb2772f1a84bc3f7.png

635895f691a3024442085ac7b404cbe1.png

四、跨站请求伪造(CSRF)

test1:漏洞类型里还有一个类型叫做SSRF,可能也是容易混淆的,大家需要基于以下资料完成自主学习,懂得区分两者:

http://www.freebuf.com/column/157466.html

http://www.freebuf.com/articles/web/20407.html

看了一遍之后发现,大概意思就是SSRF主要是利用Web应用中存在从其他服务器获得数据的功能,然后攻击者通过伪造相关数据,利用其他服务器为跳板攻击目标服务器。

而CSRF更多是利用服务器信任的用户,攻击者通过伪造成信任的用户向服务器发送相关的数据,从而实现入侵。

test2:假如某个站点的用户修改昵称的HTTP请求如下,同时存在XSS漏洞,那么可以怎么构造XSS攻击代码来完成CSRF攻击,将用户昵称改为pockr?

POST请求: http://www.a.com/user/edit

参数1: nickname: abc

参数2:action: update

我觉得应该是:http://www.a.com/user/edit/?nickname:abc&action:update

五、目录穿越与文件包含

利用一句话木马获得Shell

这需要靶场有远程包含漏洞,刚好dvwa有,首先需要把dvwa的安全设置成低,然后开启php的allow_url_include和allow_url_fopen。

然后写一个有木马的php文件放在一个dvwa能访问的地方

48669fc1003798cf0cf7974fba997730.png

然后在page包含的文件替换为远程链接,执行链接

86201ec00814afa8bdd1184320f809d3.png

可以看到当前目录下创建了一个有一句话木马的Shell的php文件

d92e5376bd47d51a1ce08c16cd7fe78f.png

然后就可以用蚁剑连接了(我的菜刀用不了。。)

a9517afcc3dbece9e493ec0b0e6a5f64.png

六、JSONP安全与防御

不太了解163的这个接口参数是什么,并且也不知道如何获取。。所以把示意代码敲了一遍

解码:unescape('')

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/903108
推荐阅读
相关标签
  

闽ICP备14008679号