*********************************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脚本
### 反射型 ###
防御:输入过滤,过滤 或页面重定向等等 存储利用:
危害:钓鱼、xss蠕虫(用户点击木马后自动转发扩散)
漏洞出现点一般在用户输入的地方 分为反射性(输入什么就反射什么)和存储型,攻击对象不再是服务器,而是用户,比如用户踩到黑客存储在网站上的而已js代码,结果上钩(hook),反向连接到黑客的电脑,被黑客拿shell,(beff渗透结果推荐)。
反射型小实验:攻击者收取某网站用户cookie信息(eg:微博的私信功能,淘宝私信试试,哈哈) (百度搜xss键盘收集器、xssDDOS攻击器)
前期准备:攻击者 1、要有xss脚本文件 2、攻击者需要自己架设web服务,编写cookie接收脚本.php,并修改权限到777,用来收取被盗用户的cookie信息。
用户 在登录社交网站后,点击到攻击者的木马脚本,那么黑客就会在自己架设的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:输入框)留下类似脚本,
###############自动化xss####################
BEEF :客户端渗透测试框架
问:如何修改为 脚
命令行配置:
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的上述防御方法将失效