小迪安全学习笔记4~5天
小迪安全学习笔记第4天——基础入门-web源码拓展
一.WEB源码简介
WEB源码在安全测试中是非常重要的信息来源,可以用来代码审计漏洞,也可以用来做信息突破口,其中WEB源码有很多技术需要简明分析。
比如:获取某ASP源码后可以采用默认数据库下载为突破,获取某其他脚本源码可以进行代码审计挖掘或分析其业务逻辑等,总之源码的获取将为后期的安全测试提供了更多的思路。
二.关于WEB源码
数据库配置文件,后台目录,模版目录,数据库目录等
文件的后缀指明了源码是什么类型,通过各个文件夹能看出来大概的功能是什么
template一般是模板文件
数据库配置文件是源码与数据库通信的文件,数据库配置文件一般在conf,include等文件或者文件夹中
从网上下了很多网站源码,从文件后缀看出是拿什么搭建的,从文件名看出功能,admin是网站后台,data是数据,install是安装,template模板文件,member会员文件。在data文件中找config看数据库配置,然后可以去连接数据库去获取管理员账号密码
ASP,PHP,ASPX,JSP,JAVAWEB 等脚本类型源码安全问题
看参考网站readthedocs.io,在语言框架那里面可以看到不同语言有不同的安全问题
社交,论坛,门户,第三方,博客等不同的代码机制对应漏洞
由于不同的网站完成的功能不同,所以使用的函数是不相同的。
开源,未开源问题,框架非框架问题,关于 CMS 识别问题及后续等
开源的框架可以直接下载代码进行审计,非开源的可以通过第三方途径进行。CMS的识别类似。
关于源码获取的相关途径:搜索,咸鱼淘宝,第三方源码站(源码之家,菜鸟源码),各种行业对应
总结: 关注应用分类及脚本类型估摸出可能存在的漏洞(其中框架类例外),在获取源码后可进行本地安全测试 或代码审计,也可以分析其目录工作原理(数据库备份,bak 文件等),未获取到的源码采用各种方法想 办法获取!
三.关于Web源码目录结构
数据库配置文件、后台目录、模板目录、数据库目录等.
index.asp 根据文件后缀名判断
admin 网站后台路径
data 数据相关的目录
install 安装相关的目录(我下载的源码中没有install这个目录)
member 会员相关的目录(我下载的源码中没有member这个目录)
template 模板目录(和网站的架构有关)
include 数据库配置文件可能在里面
数据库配置文件,网站和数据库的通讯信息,连接账号密码,可以去连接对方数据库,从数据库去得到这个网站的源码里面涉及到的管理员的账号密码。
四.关于Web源码脚本类型
ASP,PHP,ASPX,JSP,JAVAWEB等脚本类型源码安全问题。
五.关于Web源码应用分类
门户:综合类漏洞
电商:业务逻辑突出
论坛:xss逻辑突出
博客:漏洞较少
第三方:据功能决定
社交,论坛,门户,第三方,博客等不同的代码机制对应漏洞。
开源,未开源问题,框架非框架问题,关于CMS识别问题及后续等。
拿到对方的源码或者判断这个网站的应用类型之后应该侧重在哪些漏洞上做文章。
六.关于Web源码其他说明
如果对方网站采用的是框架开发的话那么你面对的就是寻找框架的漏洞,如果是非框架的话寻找的漏洞针对的是代码写出来的漏洞
CMS识别:判定一个网站是用什么程序搭建的
开源:去网上找寻漏洞文章。内部:常规的渗透测试,用扫描工具去判断。
关于源码的获取途径:搜索,闲鱼淘宝,第三方源码站,各种行业对应。
CMS识别工具
(1)在线工具:潮汐指纹识别,云悉指纹
(2)本地工具 whatweb
御剑web指纹识别程序 百度网盘
大禹CMS识别程序
七.演示案例
1)ASP、PHP等源码下安全测试
1.平台识别—某CMS无漏洞—默认数据库
2.平台识别—某CMS有漏洞—漏洞利用
打开靶场,打开asp注入
点开搬家公司ASP注入
随便打开一个任意界面,看到页面后缀为asp,根据页面后缀判断。
翻到网站底部,发现了XYCMS
去网上搜索XYCMS源码,自己下载一份
打开文件夹,找到xydata(关键数据库路径文件),找到asp特有文件xycms.mdb
mdb文件就是数据库的备份文件
该文件里面存有管理员的账号密码
密码MD5解密就是admin
访问到后台
然后输入用户名和密码,登陆成功。
小迪安全学习笔记第5天——基础入门-系统及数据库等
前言
除去前期讲到过的搭建平台中间件。网站源码外,容易受到攻击的还有操作系统,数据库,第三方软件平台等,其中此类攻击也能直接影响到WEB或服务器的安全,导致网站或服务器权限的获取。
一.操作系统层面
识别操作系统的常见方法
(1)如果对方有网站:将网站链接进行大小写修改(后缀名除外),linux大小写敏感,windows大小写不敏感。
例如:
www.xiaodi8.com/hack
www.xiaodi8.com/HacK
(2)如果对方没有网站,通过nmap进行检查操作系统
命令:nmap -O IP地址
简要两者区别以及识别意义
不同的操作的差异可以采用不同的方式进行渗透
(1)区别
网站路径不同
操作系统的功能差异
(2)意义
后期根据操作系统进行适合该操作系统的方法
操作系统层面漏洞类型对应意义
有些漏洞会产生危害但是不会产生权限的丢失,有些漏洞会造成权限的丢失,这种危害就比较大。
(1)权限漏洞
(2)使用漏洞
简要操作系统层面影响范围
主要是和权限挂钩,利用漏洞去获取权限或者对某些服务进行干扰
(1)获取权限
(2)操作系统干扰(如系统崩溃)
二.数据库层面
识别数据库类型常见方法
(1)数据库分类
小型:access,储存少量信息
中型:MySQL
中大型
大型
(2)方法
①有网站:通过服务器搭建软件确定数据库类型
ASP+access
php+mysql
aspx+mssql
jsp+mssql,oracle
python+mysql,mongodb
②没网站:通过脚本或操作系统
a、通过数据库判断
某些数据库只能在windows上或linux上运行
b、利用端口扫描
mysql=3306
mssql=1433
oracle=1521
mongodb=27017
redis=6379
memcached=11211
(注:端口状态识别:open:开放,close:关闭,filtered:拦截。)
数据库类型区别及识别意义
端口扫描来区分不同的数据库。数据库的不同,产生的漏洞也不一样,渗透的方法也不一样。
数据库常见漏洞类型及攻击
弱口令的攻击,数据库的漏洞攻击–获取权限
简要数据库层面漏洞影响范围
弱口令攻击后可以修改数据库,漏洞攻击会获取权限
三.第三方层面
如何判断有哪些第三方平台或软件
就是除了系统的自带软件外的软件,就是第三方软件
(1)通过网站扫描进行探查
(2)通过端口或者协议的开启进行判定(主要)
例如通过namp进行探查
nmap -O -sV IP地址
多层次判断,不能仅限于端口扫描,根据不同的应用采取不同的方法。
网站判断可以看有没有PHPadmin
端口扫描,通过看开启的端口,大概判定
为什么要识别第三方平台或软件
通过不同的第三方软件的不同版本进行不同的攻击方式,第三方的软件提供了更大的攻击面。
常见第三方平台或软件漏洞类型及攻击
漏洞多种多样
第三方平台或软件安全测试的范围
比较大的危害就是直接影响权限
四.补充:
除去常规WEB安全及APP安全测试外,类似服务器单一或复杂的其他服务(邮件、游戏、负载均衡等)也可以作为安全测试目标,此类目标测试原则只是少了WEB应用或其他安全问题。所以明确安全测试思路是很重要的!
五.案例演示
某操作系统层面漏洞演示
永恒之蓝的经典漏洞,用kali的msf模块攻击
某数据库弱口令及漏洞演示
vulhub靶场的mysql身法认证漏洞,用kali的msf模块攻击
某第三方应用安全漏洞演示
vulhub靶场的phpmyadmin的漏洞,远程代码执行漏洞
端口扫描工具:nmap工具
注:nmap扫不到结果的可能性:目标主机装了防护软件(可用namp绕过)或对方的服务器是内网,只开了一个访问外网的端口。