简介
CMS是英语
Content Management System
的缩写,翻译过来就是内容管理系统,是⼀种软
件⼯具,允许我们创建,编辑和发布内容!CMS其实是⼀个很⼴泛的称呼,从⼀般的博客程序,
新闻发布程序,到综合性的⽹站管理程序都可以被称为内容管理系统。
# 常⻅ CMS 系统- 企业⽹站系统: MetInfo( ⽶拓 ) 、蝉知、 SiteServer CMS- B2C 商城系统:商派 shopex 、 ecshop 、 hishop 、 xpshop 、 niushop- ⻔户建站系统: DedeCMS( 织梦 ) 、帝国 CMS 、 PHPCMS 、动易、 cmstop- 博客系统: wordpress 、 Z-Blog- 论坛社区: discuz 、 phpwind 、 wecenter- 问题系统: Tipask 、 whatsns- 知识百科系统: HDwiki- B2B ⻔户系统: destoon 、 B2Bbuilder 、友邻 B2B- ⼈才招聘⽹站系统:骑⼠ CMS 、 PHP 云⼈才管理系统- 房产⽹站系统: FangCMS- 在线教育建站系统: kesion( 科汛 ) 、 EduSoho ⽹校- 电影⽹站系统:苹果 cms 、 ctcms 、 movcms- ⼩说⽂学建站系统: JIEQI CMS
》》》在线⼯具识别《《《
# ⼯具地址国外识别平台:https://whatcms.org/国内识别平台:bugscaner : http://whatweb.bugscaner.com/whatweb : https://www.whatweb.net/云悉: https://www.yunsee.cn/潮汐: http://finger.tidesec.net/TSscan:https://scan.dyboy.cn/web/github 直接找:https://github.com/search?q=cms 识别
》》》线下⼯具识别《《《
1.CMSmap
项⽬地址:
https://github.com/Dionach/CMSmap
参数:-f W/J/D, --force W/J/D强制扫描 (W)ordpress 、 (J)oomla 或 (D)rupal-F, --fullscan 使⽤⼤型插件列表进⾏全⾯扫描。误报和缓慢!-t , --threads 线程数(默认 5 )-a , --agent 设置⾃定义⽤户代理-H , --header 添加⾃定义标题(例如 “ 授权:基本 ABCD...” )-i , --input 扫描给定⽂件中列出的多个⽬标-o , --output 将输出保存在⽂件中-E, --noedb 枚举插件⽽不搜索漏洞-c, --nocleanurls 仅对 Drupal 禁⽤⼲净的 url-s, --nosslcheck 不验证服务器的证书-d, --dictattack 在扫描期间运⾏低强度字典攻击(每个⽤户 5 次尝试)-u , --usr ⽤户名或⽤户名⽂件-p , --psw 密码或密码⽂件-x, --noxmlrpc 在没有 XML-RPC 的情况下暴⼒破解 WordPress使⽤实例:cmsmap.py https://example.comcmsmap.py https://example.com -f W -F --noedb -dcmsmap.py https://example.com -i targets.txt -o output.txtcmsmap.py https://example.com -u admin -p passwords.txt
2.Ehole
项⽬地址:https://github.com/EdgeSecurityTeam/EHole
参数:-f 字符串fofa 搜索的资产,⽀持 IP 和 IP 段。( 192.168.1.1 | 192.168.1.0/24 )-ftime 字符串fofa 超时(默认 “ 10 ” )-h 这个帮助-json 字符串输出 json-l 字符串基于本地⽂件的探测- ⽇志字符串⽇志⽂件名(默认 “ server.log ” )-t 字符串线程(默认 “ 100 ” )使⽤:本地识别: EHole -l url.txt //URL 地址需带上协议,每⾏⼀个FOFA 识别: EHole -f 192.168.1.1/24 // ⽀持单 IP 或 IP 段注意:从 FOFA 识别需要配置 FOFA 密码以及邮箱,在 config.ini 内配置好密码以及邮箱使⽤。结果输出: EHole -l url.txt -json export.json // 结果输出⾄ export.json ⽂件
3.CMSeek
项⽬地址:https://github.com/Tuhinshubhra/CMSeeK
⽅法⼀:python3 cmseek.py如果提示没有安装,选择 y ,进⾏安装选择 1 ,进⾏ cms 基本检测,结果会⾃动保存选择 2 ,多个域名扫描,⽤ “,” 隔开结果会保存在 /Result/{ 域名 }/*.json ⽂件内⽅法⼆:python3 cmseek.py -u example.com# 直接扫描python3 cmseek.py -l /home/user/target.txt# 扫描 target.txt 中指定的站点(逗号分隔)python3 cmseek.py -u example.com --user-agent Mozilla 5.0# 使⽤⾃定义 user-Agent 扫描 example.com 这⾥使⽤的是 Mozilla 5.0python3 cmseek.py -u example.com --random-agent# 使⽤随机⽤户代理扫描 example.compython3 cmseek.py -v -u example.com# 在扫描 example.com 时启⽤详细输出
4.Whatweb
来源:Kali系统自带
5.插件识别
# firefox 插件wappalyzer : https://www.wappalyzer.comwhatruns : https://www.whatruns.com/
》》》⼿⼯判断识别《《《
识别⽬标主要有:
开发语⾔/开发框架/第三⽅组件/CMS程序/数据库....
1. 后缀名识别: asp,php,jsp如果⽆法通过后缀名识别,可以通过抓包查看与后台的交互点,如:登录,查询2. http 返回消息头: x-Powered-ByCookie: PHPSESSID-->php , JSPSESSID-->jsp , ASPSESSID-->asp
php 的 Thinkphp 框架识别⽅法特定的 ico : https://www.thinkphp.cn/index/indexAction 后缀 90% 机率是 struts2 或者 webworkdo 后缀 50% 机率是 spring mvcurl 路径 /action/xxx 70% 机率是 struts2form 后缀 60% 机率是 spring mvcVm 后缀 90% 机率是 VelocityViewServletjsf 后缀 99% 机率是 java server faceshttp 返回消息头: X-Generator: Swiftlet 很多时候没有显示
robots.txt ⽂件识别:(相关⼚商下的 cms (内容管理系统)程序⽂件包含说明当前 cms 名称及版本的特征码)Disallow: /plus/feedback_js.phpDisallow: /plus/mytag_js.phpDisallow: /plus/rss.phpDisallow: /plus/search.phpDisallow: /plus/recommend.phpDisallow: /plus/stow.phpDisallow: /plus/count.php看到这个基本可以判断为 dedecms⽹站 favicon 图标
常规判断: asp-->sql server , php-->mysql , jsp-->oracle⽹站错误信息端⼝服务: 1433-->sql server , 3306-->mysql , 1521-->oracle
引擎搜索
》》》⽩引擎搜索《《《
# 搜索引擎百度: www.baidu.combing : www.bing.comYahoo : www.search.yahoo.comaol : www.search.aol.comgoogle : google.cn# 搜索语法 Google Hacker 语法intitle: 标题关键字 eg:intitle 后台登陆inurl: URL 关键特征 eg:inurl admin.phpintext: 内容关键词 eg:intext ⽂件上传filetype: 指定类型⽂件 // 例如: bak , mdb , asp , php , jspsite: 指定域名link: baidu.com // 表示返回所有和 baidu.com 做了链接的⽹站info: 查找指定站点的⼀些基本信息cache: 搜索 google ⾥关于某些内容的缓存intitle: 标题关键字 查询在⽹站标题中存在该关键字的站点inurl:URL 关键字 查询在 URL 路径中存在该关键字的站点intext: 内容关键词 查询在⽹站主体中存在该关键字的站点filetype :⽂件类型 查询存在指定⽂件类型的站点site: 指定域名 查询在搜索引擎下的所收录的资产举例:intext: 管理filetype:mdbinurl:filesite:http://xx.com filetype:txtsite:http://xx.com filetype:aspsite:tw inurl:asp?id= // 查找台湾的intitle: 旁注 - ⽹站 filetype:asphttp://lmb.scsio.cas.cn/xzzx/201411/P020141121459287656532.xls# Google Hacker Database ( GHDB )https://www.exploit-db.com/google-hacking-database
》》》⿊暗引擎搜索《《《
# 搜索引擎fofa.infowww.shodan.iowww.zoomeye.orgquake.360.cn# 搜索帮助--- 》官⽅⼿册⽂档
站点目录
》》》目录扫描《《《
其对其进⾏⽬录扫描的⽬的主要有以下⼏种:
● 寻找⽹站的后台登录地址
● 寻找未授权访问的⻚⾯
● 寻找⽹站更多隐藏的信息
通常我们所说的敏感⽂件、敏感⽬录⼤概有以下⼏种:后台robots.txt --- 》 让搜索引擎爬⾍收录哪些⽬录数据库 logsitemap.xmlmysql.sqllicence.txtGithg/Mercurialsvn/Subversionbzr/BazaarCvsWEB-INF 泄露备份⽂件泄露、配置⽂件泄露
# 常⻅后台admin/admin. 后缀admin/login. 后缀managewebmanager等等# ⽂件路径查看⽹站图⽚,其中⽬录很可能包含管理⽬录,这⾥查看要躲在⼏个地⽅查看 ;1. ⾸⻚2. 新闻中⼼3. 上传点就是查看的图⽚要有不同上传点上传的图⽚,如果图⽚保存路径在后台的下级⽬录,那么这种⽅法屡试不爽。# robots.txtRobots 协议 " ⽹络爬⾍排除标准 " ,⽹站通过 Robots 协议告诉搜索引擎哪些⻚⾯可以抓取,哪些⻚⾯不能抓取;同时也记录⽹站所具有的基本的⽬录;http://www.baidu.com/robots.txt# 搜索引擎搜索引擎会爬取⽹站下⽬录,并且不需要触碰⽹站任何防御设备;语法: site:360.cn
# 爆破枚举原理:通过字典匹配⽹站是否返回响应正确状态码,然后列出存在的⽬录;爆破可能会触发⽹站防⽕墙规则拦截,造成封禁 IP 现象;# 相关字典kali 默认字典:cd /usr/share/wordlists/https://gitee.com/molok/Blasting_dictionaryhttps://github.com/TheKingOfDuck/fuzzDictshttps://github.com/fuzz-security/SuperWordlist# 枚举⼯具Dirb/Dirbuster/DirMap/ 御剑 /7kbstorm...dirb http://example.comdirsearch -u http://example.com# ⼯具项⽬https://github.com/foryujian/yjdirscanhttps://github.com/7kbstorm/7kbscan-WebPathBrute
》》》物理路径《《《
# 报错信息在处理报错信息的问题上如果处理不当,就可导致路径信息泄露,⽐如访问⼀些不存在的⽂件等思路;报错⽅法很多,说不完的,具体还要根据实际情况操作;报错⽅法:1. 有动态 URL 的地⽅可以替换参数 替换参数值为不存在的,很多时候都能爆物理路径;2. 访问不存在的⽂件名 ⽂件 或者改正常后缀为不⽀持的后缀;* IIS7.0 以上,如果没有修改 404 ⻚⾯,只要浏览 web 任意不存在的⽂件,都会直接暴出绝对路径;* 同理, thinkphp 也有这个性质。 在 id=1 的注⼊点,使⽤各种不⽀持的字符,⽐如 id=1’ id=? id=-1 id=\ id=/ 都有可能暴出绝对路径;* 还有的时候传⼀些错误图⽚会报错 windows 不⽀持的符号, ?:<> 之类的,还有 windows 不⽀持的⽂件名 aux Windows 服务器上传 aux ⽂件或者新建 aux ⽂件夹,因为不允许这种⽂件存在⽽报错泄露绝对路径;3. 尤其是 php 框架写的站,上传很容易爆出物理路径,根据具体情况了,⽐如提交允许的后缀,整体提交时抓包改为不⽀持的后缀,放包,很多时候都能爆出物理路径。 有⼀部分都是 sql 语句报错, sql 很多时候会爆物理路径;# 后台地址可以登录后台的话,后台⾸⻚⼀般都有服务器信息的,⼤部分情况下物理路径都在⾥⾯;# 功能点上传图⽚处 :第⼀点:在上传图⽚处,这⾥是最可能存在问题的点,就是关于上传相关证明,进⾏实名制上传信息等功能⻚⾯,在上传图⽚时进⾏抓包,然后查看返回包,那么就可看到当前服务器的绝对路径信息# 容器特性如: Apache Tomcat 、 Struts2 、 CMS 、 zabix 、 Nginx 等等,例如 Nginx 的某版本解析漏洞,就可造成路径信息泄露;1. IIS ⼤于 6 的版本,基本都是 导致他 404 就可以爆出物理路径、 IIS 名、 IIS 版本。这个很简单,随便访问个不存在的⽬录或⽂件就可以;2. nginx ⽂件类型错误解析爆路径 :■ 说明:要求 Web 服务器是 nginx ,且存在⽂件类型解析漏洞;■ 有时在图⽚地址后加 /x.php ,该图⽚不但会被当作 php ⽂件执⾏,有可能爆出物理路径 www.xxx.com/xx.jpg/x.php ;# 探针⽂件site.phpinfo.phpphpinfo.phpphp_info.php1.phpa.phptest.phpceshi.php# PHPMyadmin 爆路径⼀旦找到 phpmyadmin 的管理⻚⾯,再访问该⽬录下的某些特定⽂件,就很有可能爆出物理路径;⾄于 phpmyadmin 的地址可以⽤ wwwscan 这类的⼯具去扫,也可以选择 google ;○ /phpmyadmin/libraries/lect_lang.lib.php○ /phpMyAdmin/index.php?lang[]=1○ /phpMyAdmin/phpinfo.php load_file()○ /phpmyadmin/themes/darkblue_orange/layout.inc.php○ /phpmyadmin/libraries/select_lang.lib.php○ /phpmyadmin/libraries/lect_lang.lib.php○ /phpmyadmin/libraries/mcrypt.lib.php# 配置⽂件找路径如果注⼊点有⽂件读取权限,就可以⼿⼯ load_file 或⼯具读取配置⽂件,再从中寻找路径信息(⼀般在⽂件末尾),各平台下 Web 服务器和 PHP 的配置⽂件默认路径可以上⽹查;常⻅配置⽂件:○ c:\windows\php.ini php 配置⽂件○ c:\windows\system32\inetsrv\MetaBase.xml IIS 虚拟主机配置⽂件○ C:\xampp\apache\conf\httpd.conf○ /var/www/conf/httpd.conf常⻅集成环境默认⽬录,后⾯往往还有以域名命名的⽬录:○ C:\Inetpub\wwwroot○ C:\xampp\htdocs○ D: \phpStudy\WWW○ /home/wwwroot/ /www/users/# 默认路径linux 还可以⽤瞎蒙⼤法;○ /var/www/html/ ⽹站名○ /etc/php.ini php 配置⽂件○ /etc/httpd/conf.d/php.conf○ /etc/httpd/conf/httpd.conf Apache 配置⽂件○ /usr/local/apache/conf/httpd.conf○ /usr/local/apache2/conf/httpd.conf○ /usr/local/apache/conf/extra/httpd-vhosts.conf 虚拟⽬录配置⽂件
免责声明:互联网并非法外之地,请大家谨慎操作,不要侵犯他人的合法权益。