大纲

###旨在解决渗透测试中遇到的各种疑难问题###
测试目标分类:
WEB,APP,PC,SERVER等
APP:
1.利用抓包分析APP数据包
2.利用反编译逆向APP分析
1.信息收集
\#端口
www.xiaodi8.com
www.xiaodi8.com:8080
真实:
http://xxxx.xxx.com.cn/portal/LoginBegin.aspx
http://xxxx.xxx.com.cn:8080/login.jsp
发现:
端口扫描获取 Nmap
\#目录
www.xiaodi8.com 门户 phpcms
www.xiaodi8.com/bbs/ 论坛 discuz
www.xiaodi8.com/old/ 旧版 phpwind
发现:
1.爬行
2.扫描
\#IP
\#子域名
1.同服务器
2.同网段服务器
课程视频可参考实战全套篇-必看里面
收集:备案信息,网站脚本,数据库,操作系统等
https://blog.csdn.net/qq\_41453285/article/details/94888750
\#cms程序
开源的 网站源码程序,如dedecms,discuz,phpcms,WordPress等
\*部分网站也会采用不开源或内部源码搭建
1.开源
源码可以下载到,直接进行代码审计(漏洞挖掘)
利用网上公开的漏洞进行测试验证
2.内部
黑盒测试,只能扫漏洞,测试漏洞
cms识别技术 指纹识别
平台识别 bugscaner 云悉
工具识别 whatweb 御剑指纹识别
\#中间件
实验:nginx解析漏洞利用
1.通过访问网站发现中间件为nginx
2.通过网站自带的上传功能上传图片
3.利用解析漏洞访问形式去触发图片后门代码
\*通过判断网站使用的中间件,尝试中间件漏洞的验证和利用
\#第三方
如何获取第三方软件是否存在?
一般采用端口扫描探针
演示1:HFS第三方软件服务漏洞利用
1.通过端口扫描探针到目标存在8080端口
2.访问获取是第三方软件HFS调用
3.利用公开的HFS漏洞进行验证利用
演示2:phpmyadmin文件包含漏洞利用
1.通过web扫描探针到网站存在phpmyadmin
2.通过phpmyadmin公开漏洞进行验证利用
拓展玩法:
利用phpmyadmin特性,执行sql命令时会将执行的代码写入到session中,
再利用包含漏洞包含该session文件(session文件以cookie中的值命名)
代码:后门代码 select '\<?php eval($\_POST[x]);?\>'
2.漏洞发现
\#漏洞问题
1.登录类网站扫描
带入登录扫描
带入cookie扫描
2.开源CMS网站程序
3.其他漏洞测试
\#WEB漏洞
漏洞分类:sql注入,xss跨站,文件上传,代码执行,文件包含等
漏洞影响:漏洞能干嘛?能实现什么目的?
漏洞扫描:AWVS,Appscan,Netsparker等
1.漏洞扫描发现注入漏洞
2.利用sqlmap进行注入测试
\#系统漏洞
漏洞扫描:nessus,openvas
大部分结合MSF
\#漏洞具体发现形式
黑盒测试:扫描,探针,搜索等
sql注入
文件上传
XSS跨站
代码执行
逻辑越权
、、、、
漏洞扫描 专业扫描工具去判定(sql注入,xss跨站等)
漏洞探针 人为寻找漏洞去测试(第三方软件或中间件等)
案例:业务逻辑
1.订单金额修改
2.短信接口枚举
3.任意信息查看
。。。。。。。
原因:
可能需要登录状态操作
可能需要变换参数测试
www.xiaodi8.com/member.php?id=1 对应用户xiaodi
www.xiaodi8.com/member.php?id=2 对应用户xxiao
白盒测试:代码审计
\#有些漏洞是可以通过扫描工具去发现的,部分漏洞是必须要人为去测试发现的。
漏洞分类:
sql注入,文件上传,xss跨站,代码执行,命令执行,逻辑越权,目录遍历等
可以用扫描工具获取到
dedecms某处注入,phpcms某处上传,discuz某处代码执行,thinkphp5代码执行等
无法扫描工具获取到 需要特定的漏洞插件或专用工具探针 也可以使用公开文档资料判定
\#关于漏洞扫描需要采用两种扫描:1.awvs扫描 2.cms 插件扫描
3.漏洞利用
漏洞产生:
可控变量 函数
什么函数将导致什么漏洞
$\_GET $\_POST $\_COOKIE $\_REQUEST $\_FILES $\_SERVER
漏洞的影响
1.用于实战 强调权限
2.用于挖掘 强调漏洞
3.用于加固 强调漏洞
sql注入
sqlmap havij pangolin 超级注入工具 啊D 明小子
数据库类型 Access mysql mssql oracle postsql db2 sybase等
文件上传
burpsuite fiddler fuzz上传字典(模糊测试)
fuzz应用案例:
测试WAF注入或上传绕过时,经常需要对特定关键字或格式进行变异进行绕过测试
xss跨站
xss平台 beef xsser
xss主要结合其他漏洞或方法进行攻击
代码执行
命令执行
文件包含
目录遍历
csrf攻击
业务逻辑
xml
ssrf
。。。。
加固:
1.引用安全软件
2.直接对应修复
漏洞利用问题:
1.安全软件拦截
2.漏洞自身问题
漏洞误报案例:
www.xiaodi8.com/news.php?id=1
4.权限提升
划分:
数据库权限
后台权限
web权限
服务器权限
比如某棋牌网站,得到操作控制数据(开奖数据)的目的?
1.数据库权限
2.web权限
3.服务器权限
4.后台权限
后台权限或数据库权限\<==\>网站权限==\>系统权限
系统漏洞或第三方软件漏洞==\>系统权限
\#获取网站权限
分类
原因:漏洞的情况
直接获取权限 文件上传 代码执行等
间接获取权限 sql注入 xss跨站等
后台获取权限相关解释
获取方法主要看后台的具体功能决定
1.sql执行
2.数据库备份
3.web模版修改
4.文件上传
5.其他
案例:
测试本地某网站后台web权限获取:
2.SQL执行
1.文件管理器
http://127.0.0.1/upload//api/addons/zendcheck.php
D:\\phpstudy\\PHPTutorial\\WWW\\upload\\api\\addons\\zendcheck53.php
http://127.0.0.1/010/dede/index.php
D:\\phpstudy\\PHPTutorial\\WWW\\010\\dede\\index.php
select '1' into outfile 'D:\\\\phpstudy\\\\PHPTutorial\\\\WWW\\\\010\\\\dede.php';
http://127.0.0.1/010/dede.php
技巧:
1.cms的话可以直接通过搜索xxxcms后台拿shell获取操作方法
2.不知道cms或内部程序的话需要通过具体的后台功能来逐个测试
\#获取系统权限
webshell提权
1.数据库提权
2.溢出漏洞提权
3.第三方软件提权
案例:通过web权限提升至服务器权限
利用系统溢出漏洞测试提升
1.通过磁盘权限获取上传cmd突破无法执行cmd
2.通过msf生成的反弹exe进行执行反弹
3.接受反弹会话进行exp筛选后执行
案例:通过web权限提升至服务器权限
利用网站数据库进行提升
条件:数据库最高用户的密码
1.通过探针获取服务器上数据库类型mysql
2.通过查看网站数据库配置文件或数据库目录文件获取root密码
3.通过mysql——udf进行权限提升
网站数据库配置文件:命名规则(sql,data,inc,conn,config,database等)
数据库目录文件:安装目录下的/data/mysql/user.myd
GRANT ALL PRIVILEGES ON \*.\* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
windows
guest users administrators system
linux
users root
权限维持
其他权限
网站权限