【网络安全的神秘世界】渗透测试基础

news2024/11/18 9:41:37

在这里插入图片描述

🌝博客主页:泥菩萨

💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具

渗透测试基础

基于功能去进行漏洞挖掘

1、编辑器漏洞

1.1 编辑器漏洞介绍

一般企业搭建网站可能采用了通用模板(CMS,内容管理系统),这些现成的CMS后台如果需要发文章,可能会用到编辑器,这些编辑器是有专门的团队运营开发的,编辑器有可能存在漏洞。只要使用了存在漏洞的编辑器,那么网站就会存在相应的漏洞

编辑器漏洞通常有如下利用方式:

1、编辑器配合解析漏洞进行利用

2、编辑器自身的漏洞利用

FCKeditor

FCKeditor编辑器的漏洞源码

获取版本号

/FCKeditor/_whatsnew.html
/Fckeditor/editor/dialog/fck_about.html

常见的测试上传地址

FCKeditor/editor/filemanager/browser/default/connectors/test.html
FCKeditor/editor/filemanager/upload/test.html
FCKeditor/editor/filemanager/connectors/test.html
FCKeditor/editor/filemanager/connectors/uploadtest.html
FCKeditor/editor/filemanager/browser/default/browser.html

常见的示例上传地址:

FCKeditor/_samples/default.html
FCKeditor/editor/fckeditor.htm
FCKeditor/editor/fckdialog.html

可能存在的其他上传点:

FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
FCKeditor/editor/filemanager/browser/default/connectors/php/connector.php?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?
Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector.jsp?
Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com/fckeditor/editor/filemanager/connectors/php/connector.php
FCKeditor/editor/filemanager/browser/default/browser.html?
Type=Image&Connector=http://www.site.com/fckeditor/editor/filemanager/connectos/asp/connector.asp
FCKeditor/editor/filemanager/browser/default/browser.html?
Type=Image&Connector=http://www.site.com/fckeditor/editor/filemanager/connectors/aspx/connector.aspx
FCKeditor/editor/filemanager/browser/default/browser.html?
Type=Image&Connector=http://www.site.com/fckeditor/editor/filemanager/connectors
/jsp/connector.jsp

browser.html文件:

FCKeditor/editor/filemanager/browser/default/browser.html?
type=Image&connector=connectors/asp/connector.asp
FCKeditor/editor/filemanager/browser/default/browser.html?
Type=Image&Connector=connectors/jsp/connector.jsp
fckeditor/editor/filemanager/browser/default/browser.html?
Type=Image&Connector=connectors/aspx/connector.Aspx
fckeditor/editor/filemanager/browser/default/browser.html?
Type=Image&Connector=connectors/php/connector.php

1.2 编辑器漏洞攻击还原

挖掘编辑器漏洞的思路:

1、通过目录扫描,爬虫识别编辑器

2、寻找编辑器版本对应的漏洞

3、利用该编辑器漏洞

Fckeditor编辑器漏洞攻击还原:

首先搭建环境:windows 11 + phpstudy_64 (php 5.4.45)

在这里插入图片描述

在这里插入图片描述

把FCKeditor编辑器的漏洞源码放在根目录

在这里插入图片描述

访问http://your_ip/FCKeditor,有403报错是正常的

在这里插入图片描述

目录扫描发现目标网站存在FCKeditor:

在这里插入图片描述

当确定一个网站使用了FCKeditor编辑器后,可以进行信息收集

查看版本:

http://10.0.0.172/Fckeditor/editor/dialog/fck_about.html

在这里插入图片描述

判断出该FCKeditor编辑器版本为:2.4.3

利用示例页面进行上传

http://10.0.0.172/FCKeditor/editor/fckeditor.html

在这里插入图片描述

点击插入/编辑图像,点击链接,Browse Server

在这里插入图片描述

会打开新的页面,发现有报错提示

在这里插入图片描述

观察url发现,我们使用的是php而路径是asp,进行修改

http://10.0.0.172/FCKeditor/editor/filemanager/browser/default/browser.html?Connector=connectors/php/connector.php

这次仍然报错,但是报错信息不同了

在这里插入图片描述

访问D:\phpstudy_pro\WWW\FCKeditor\editor\filemanager\browser\default\connectors\php\config.php,修改配置如下并保存:

上传路径:D:\phpstudy_pro\WWW\FCKeditor\editor\filemanager\browser\default\images

在这里插入图片描述

重启完成后,再次访问链接,可以正常访问

在这里插入图片描述

上传PHP文件,抓包,修改php后缀,增加空格

在这里插入图片描述

在这里插入图片描述

上传成功后,根据前面的配置文件可以构造出路径:

http://10.0.0.172/FCKeditor\editor\filemanager\browser\default\images\file/phpinfo.php

在这里插入图片描述

也可以用蚁剑直接拿下这台web服务器

此外,关于该实验环境,也可以通过测试页面进行文件上传:

http://10.0.0.172/FCKeditor/editor/filemanager/browser/default/connectors/test.html

在这里插入图片描述

也可以使用FCK综合利用工具进行利用

在这里插入图片描述

2、旁站&跨库

旁站:同一个web服务器上存载着多个web站点,通过不同端口对外进行服务

2.1 旁站&跨库

漏洞环境搭建

bluecms v1.6 sp1源码
windows 7
phpstudy(php 5.4.45)

将bluecms源码放入phpstudy网站根目录中

在这里插入图片描述

之后访问http://your_ip/bluecms/uploads/install进行安装

在这里插入图片描述

填写数据库账号密码,我设置的是root/123456,数据表前缀blue_,管理员账号密码admin/123456,下一步

在这里插入图片描述

在这里插入图片描述

返回空白页面即代表安装成功

在这里插入图片描述

旁站和跨裤演示

在渗透测试过程中,如果正面难以突破,那么就可以采用一些迂回战术,从侧面来发起攻击,也就是采用一些间接攻击方法,例如旁站,通过旁站注入来进行渗透

在这里插入图片描述

假如在某次渗透测试过程中我们发现主站难以攻破,又发现存在旁站bluecms,于是通过旁站来进行攻击:

http://10.0.0.160/bluecms/uploads/

分析这个页面可以挖的地方:

1、收藏----存在ssrf

2、密码爆破

3、弱口令

4、密码明文传输—有攻击者监听流量可以看到密码

5、是否记住我—可能用了share框架

在这里插入图片描述

点击进入注册功能点,思考可能存在以下漏洞:

1、弱口令

2、账号枚举—判断是否存在账号

3、测试验证码是否有效(不填或者故意填错)

4、csrf—此网站在验证码无效的情况下

5、逻辑漏洞------当作修改已注册用户密码功能点(在不校验旧密码的情况下,根据账户枚举得到一个已有账号,抓包绕过前端限制,把账户修改为已经存在的,并设置新密码)

6、XSS(盲注的场景)

7、电子邮箱—邮箱轰炸

在这里插入图片描述

点击进入留言建议,分析这个页面可以挖的地方:

1、XSS

在这里插入图片描述

回到首页进行渗透测试,输入admin密码随意,根据提示发现admin是系统用户组,并且存在后台

在这里插入图片描述

找后台的3种方法:

1、已知框架了直接上网查

2、猜(console、login、admin、manage、system)

3、目录爆破:dirsearch、御剑

通过御剑扫描,找到了网站后台管理地址

在这里插入图片描述

# 登录
http://192.168.190.128/bluecms/uploads/admin/login.php?act=login

在这里插入图片描述

已知账号admin,爆破出密码为123456

在这里插入图片描述

输入admin/123456成功进入后台

打开发布本地新闻,分析这个页面可以挖的地方:

1、xss

2、文件上传

3、编辑器漏洞

4、sql注入

在这里插入图片描述

删除功能,分析可能存在的漏洞:

1、越权:普通用户实现删除操作

2、未授权访问:在不登陆的情况下删除

在这里插入图片描述

抓包,找到删除功能的接口,拼接删除功能的接口地址

192.168.75.131/bluecms/uploads/admin/ann.php?act=del_cat&id=1

在这里插入图片描述

添加广告后,有xss弹窗

在这里插入图片描述

在这里插入图片描述

发现 “获取JS” 的功能,给我们一串js代码

在这里插入图片描述

在这里插入图片描述

思考:JS从哪里获取到的,会有什么漏洞?

1、本地获取-----任意文件读取

2、数据库获取—SQL漏洞

3、远程服务器获取—RCE、SSRF(内网)、文件包含(外网)

访问上述url,发现是个空白页面,观察url可能存在sql注入漏洞

192.168.75.131/bluecms/uploads/ad_js.php?ad_id=1

验证是否存在sql注入漏洞

在这里插入图片描述

通过order by 判断有多少列,输到8报错,证明是7列

在这里插入图片描述

使用联合注入,用1,2,3,4,5,6,7表示无意义位,只是想看看哪个位置会有回显

在这里插入图片描述

发现页面不返回消息,查看网页源代码

在这里插入图片描述

证明前端显示位不够,让union all左边ad_id=-1查不出东西,就会让出显示位给右边

在这里插入图片描述

发现第7列有回显,可以在此处写入想执行的sql语句

注入出数据库名为bluecms

在这里插入图片描述

继续注入blue_user表中的字段名,发现报错,存在过滤,单引号前面出现\证明单引号被转义:

view-source:http://192.168.190.128/bluecms/uploads/ad_js.php?ad_id=-
1 union select 1,2,3,4,5,6,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='blue_user'

在这里插入图片描述

使用16进制进行绕过:

view-source:http://192.168.190.128/bluecms/uploads/ad_js.php?ad_id=-
1 union select 1,2,3,4,5,6,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=0x626c75655f75736572

在这里插入图片描述

继续注入bluecms库中blue_user表的user_name和pwd字段内容:

view
-
source:http://192.168.190.128/bluecms/uploads/ad_js.php?ad_id=
-1 union select 1,2,3,4,5,6, concat(user_name,pwd) from blue_user

也可以使用concat_ws在user_name和pwd中间加入0x7e作为分隔符,方便我们分隔账号密码

在这里插入图片描述

admin以及21232f297a57a5a743894a0e4a801fc3,即web管理员的账户密码

通过在线解密:发现明文密码为admin

在这里插入图片描述

利用SQL注入能够跨越当前库,获取所有的数据库中的数据库名,表名,字段名:

view
-source:http://192.168.190.128/bluecms/uploads/ad_js.php?ad_id=
-1 union select 1,2,3,4,5,6,group_concat(schema_name)
from information_schema.schemata

在这里插入图片描述

2.2 CDN绕过

旁站攻击的前提是知道网站服务器的真实IP,确保要攻击的多个目标站点部署在同一服务器上

CDN概述

CDN也叫内容分发网络,CDN的主要目的是通过将内容缓存到离用户更近的服务器上,来提高用户访问网站或应用程序的速度和可靠性

检测网站是否采用了CDN

1️⃣利用多地ping

每个地区得到的IP地址都不一样则说明可能存在CDN,可以使用以下网站进行检测:

https://wepcc.com
http://ping.chinaz.com
https://mping.chinaz.com/
http://ping.aizhan.com/
http://tcping8.com/ping/

在这里插入图片描述

2️⃣利用nslookup

如果返回域名解析对应多个IP地址多半是使用了CDN

在这里插入图片描述

查找真实IP方法

1️⃣查找历史DNS记录

一个网站建设之初的时候,规模不大可能早期没有使用CDN

DNS查询https://www.malapan.com/dnshistory/safepub.com、https://www.
racent.com/dns-check
微步在线:https://x.threatbook.cn/
在线域名信息查询:http://toolbar.netcraft.com/site_report?url=
DNS、IP等查询:http://viewdns.info/
CDN查询IP:https://tools.ipip.net/cdn.php

这些网站具有随机性,不一定能查到

2️⃣子域名查询

对于一个网站边缘业务可能没有上CDN,此时就可以通过查询子站点所对应的IP来辅助查找网站的真实IP

第三方接口:
https://x.threatbook.cn/
https://dnsdb.io/zh-cn/
https://site.ip138.com/

google语法:Google site:baidu.com

子域名扫描器:subdomainbrute、amass、OneForAll子域名挖掘机等等

3️⃣网络空间测绘

shadan:https://www.shodan.io/
fofa:https://fofa.info/
hunter:https://hunter.qianxin.com/
zoomeye:https://WWW.zoomeye.org/

4️⃣利用网站漏洞

phpinfo之类的探针、GitHub信息泄露等、
XSS盲打、命令执行反弹shell,SSRF等

5️⃣利用邮件服务器找到真实IP

在注册等一些需要发送邮件的地方让服务器给自己发送邮件,然后查看邮件服务器的IP地址。这种情况比较适用于小站,因为很多大型企业的邮件服务器都是独立的,不太会和业务站点放在同一服务器上。

6️⃣通过分析目标C段来判断真实IP

3、越权

3.1 越权漏洞原理介绍

越权访问是Web应用程序中一种常见的漏洞,由于其存在范围广、危害大、常常被列为OWASP TOP 1 ------ 属于逻辑漏洞

该漏洞是指应用在检查授权时存在纰漏,使得攻击者在登录低权限账户后,利用一些方式绕过权限检查,访问或者操作其它用户信息及获取更高权限

由于越权漏洞往往很难通过工具进行自动化检测,因此在实际应用中危害很大

对比一下SQL注入漏洞和越权漏洞的测试过程:

1、越权漏洞:找到获取数据的接口,准备两个不同权限的账号A和B,控制A通过指定的接口去访问B的数据;访问到即越权

2、SQL注入怎么测:参数级漏洞,看到有携带参数的接口就可以放在sqlmap里去跑,sqlmap自动进行替换完成测试

水平越权: 相同权限下不同的用户可以互相访问

垂直越权: 使用权限低的用户可以访问到权限高的用户

水平越权测试方法:

垂直越权测试方法:

3.2 水平越权攻防还原

火狐浏览器:登录lucy/123456,点击查看个人信息

在这里插入图片描述

抓包,修改请求数据包的username参数为lili

在这里插入图片描述

在火狐浏览器可以查看到lili的个人信息了

在这里插入图片描述

3.3 垂直越权攻防还原

火狐浏览器登录:admin/123456

在这里插入图片描述

抓包,发现除了cookie没有其它参数了,只能根据cookie值来判断当前用户的身份

在这里插入图片描述

在admin账户中点击添加用户,来到这个页面

在这里插入图片描述

1️⃣复制上述url用谷歌浏览器打开

2️⃣替换cookie

还有一种方法,在admin用户下创建内容

在这里插入图片描述

抓包,发现除了cookie没有其它校验身份的参数了

在这里插入图片描述

把cookie值修改为pikachu用户的cookie值

在这里插入图片描述

如果成功,相当于用pikachu的权限进行添加用户;放包查看,添加成功了

在这里插入图片描述

谷歌浏览器登录:pikachu/000000

在这里插入图片描述

对于pikachu账户来说没有添加用户的功能,但是可以用谷歌再打开一个新的标签页,表示以pikachu的身份访问这个url

在这里插入图片描述

设置一些内容进行创建,看能否真的进行操作做

在这里插入图片描述

做了校验,发现不是admin用户,直接退出了

在这里插入图片描述

但是来到admin用户查看后台,信息已经添加成功了

在这里插入图片描述

3.4 越权漏洞修复

1、前后端同时对用户输入信息进行校验,双重验证机制

2、执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限

3、特别名的操作可以让用户再次输入密码或加入其它的验证信息,防止CSRF攻击

4、可以从用户的加密认证cookie中获取当前用户的id防止攻击者对其修改,或在session、cookie中加入不可预测的user信息

5、对想要引用的资源ID进行加密,防止攻击者枚举ID,敏感数据特殊化除了

6、用于不要相信来自用户的输入,对于可控参数进行严格的检查与过滤

4、 逻辑漏洞

4.1 逻辑漏洞概述

由于程序逻辑输入管控不严,导致程序不能正常处理或处理错误,进而产生的漏洞。一般出现在登录、注册、密码找回、信息查看、交易支付金额等位置,由于逻辑漏洞产生的流量多数为合法流量,一般的防护手段或设备无法阻止,也导致了逻辑漏洞成为企业防护中的难题

4.2 如何挖掘逻辑漏洞

4.2.1 注册处

注册功能可能出现任意用户注册、短信轰炸等问题

【任意用户注册】:有时候不核实用户填写的邮箱和手机号是否有效,从而达到任意注册的效果

【短信轰炸】:没有对获取短信验证的次数进行校验的话,就可以不停的发送短信,会消耗服务器的资源和金钱

前端验证:判断是否有任意用户注册漏洞

手机验证码:短信轰炸、验证码是否可以暴力破解,验证码与手机号有没有校验匹配(随便拿到一个验证码也能登录其他账号)

账号密码注册:是否可以批量注册(涉及黑产)

4.2.2 登陆处

登陆处可能存在任意用户登录、短信轰炸等问题

前端验证:判断是否有任意用户登录,是否有验证码回显,是否可以修改返回包造成任意用户登陆等问题

手机验证码:验证码是否可以暴力破解、验证码与当前手机号有没有校验匹配

账户密码登录:没有验证码、验证码失效、验证码可以重复利用或者验证码绕过等情况,可以进行暴力破解

4.2.3 密码找回处

1、前端验证绕过:先获取手机验证码,在输入要修改的邮箱或密码,抓包修改用户名

2、验证码是否可以多次使用

3、验证码是否直接返回在数据包中

4、验证码未绑定用户:明明是A的验证码能给B用

5、修改接收的手机或邮箱进行密码重置

6、验证步骤绕过:类似1

7、未校验用户字段的值:比如user_id可替换

4.2.4 支付与越权

1、提交订单或者结算时对金额等参数进行修改(可能只校验总价=单价*数量)

2、提交订单时修改商品数量

3、修改支付接口等:某个付款二维码被攻击者拿到了,为了防止攻击者使用该二维码进行随意支付,所以要进行一次校验

4.3 交易支付中的逻辑问题

支付漏洞的理解通常都是篡改价格

4.3.1 支付逻辑漏洞的呈现形式

1、充值的时候,程序只判断订单有没有充值成功,但没有判断金额

例如:生成订单跳转到支付宝页面,在原网站点支付失败,这时可以修改订单,改成更小的金额(订单号没变),回到支付宝页面进行支付操作,支付成功。程序并没有重新核对支付宝实际的金额,只是把订单改为已支付

2、使用余额支付,把数量改为负数,总金额也为负数,扣除余额时,负负得正,这时余额增加

3、支付逻辑漏洞的几种常见类型:

(1)修改金额

(2)修改商品数量

(3)修改优惠金额

(4)修改数量、单价、优惠价格参数为负数、小数、无限大(超过内存能承载的最大值,整数溢出后变成负数)

(5)商品价格更改

(6)支付key泄露等

4.3.2 支付漏洞案例

漏洞环境:webug

使用docker安装

docker pull area39/webug
docker run -d -p 8082:80 -p 33060:3306 area39/webug

安装成功后访问http://your_ip:8082/control/login.php

默认账户:admin/admin
数据库账号:root/toor

在这里插入图片描述

打开支付漏洞靶场

在这里插入图片描述

进入某网站商城页面

http://10.0.0.158:8082/control/auth_cross/cross_permission_pay.php

在这里插入图片描述

点击立即购买,发现弹窗花费了100元购买商品

在这里插入图片描述

观察url发现,price是价格的意思,尝试修改值为1

在这里插入图片描述

也可以抓包进行修改商品的价格

在这里插入图片描述

在这里插入图片描述

4.4 密码修改逻辑漏洞

在这里插入图片描述

访问“越权修改密码”靶场:

在这里插入图片描述

进入docker的数据库中

docker exec -it id bash
mysql -uroot -p //密码toor

在这里插入图片描述

查看用户密码信息

show database;
user webug;
show tables;
select * from user_test;

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

登录admin/admin账号

在这里插入图片描述

在这里插入图片描述

显示not found,这是网站本身的问题,删除pt_env/即可

在这里插入图片描述

登录aaaaa/asdfsadf账号

在这里插入图片描述

思考可能存在的漏洞:

1、明文传输

2、弱口令

3、SQL注入

4、越权修改其他用户密码

5、旧密码是否有效

对aaaaa账户进行修改密码的操作:发现修改密码处未对旧密码进行验证,旧密码处输入任意内容,可以直接修改密码

在这里插入图片描述

查看webug库下的user_test表

use webug;
select * from user_test;

在这里插入图片描述

抓包,观察数据包我们发现id值可以被篡改,一般来说管理员的id值一般为1或者0

在这里插入图片描述

将id修改为1进行尝试,发现修改成功

在这里插入图片描述

查看webug库下的user_test表

use webug;
select * from user_test;

在这里插入图片描述

此时admin账户的密码已经被更改为:123456,通过低权限的账户修改了管理员账户的密码,使用admin/123456即可成功登录。

4.5 实战项目逻辑漏洞分享

4.5.1 验证码回传导致任意用户注册

由于程序逻辑校验不严,导致验证码直接显示在响应包中,造成任意用户注册

在这里插入图片描述

1、可以修改请求包手机号

2、可以在响应码里直接看到验证码拿去使用

4.5.2 任意用户登录

用户注册成功后,第一次会直接以注册用户的身份登录,而无需用户输入账号密码登录,查找数据包中是否有用户的参数username、userid等进行替换

在这里插入图片描述

截取并查看响应数据包,发现系统是通过userid、username等参数进行身份验证及登录:

在这里插入图片描述

再去截取请求数据包,修改userid值,成功登录他人用户:

在这里插入图片描述

4.5.3 任意密码重置

在密码修改页面,随意输入旧密码,输入新密码以及确认新密码,点击修改密码,截取数据包

将响应包由false改为true,有时候响应状态码不一定是true或false,也有可能是0和1

在这里插入图片描述

在这里插入图片描述

4.6 逻辑漏洞修复

1、正确配置用户的权限信息,不要仅使用简单的cookie或session去进行校验

2、对同一手机号进行识别,一定时间内不允许重复发送验证短信请求

3、加入用户身份认证机制或者token验证,防止可直接通过链接访问到的功能模块被用户恶意操作(未授权访问漏洞)

4、删除特权码,不要仅仅对code等返回值进行校验

5、订单类数据包在后端检查订单的每一个值,包括支付状态、MD5加密&解密、数字签名及验证,能够有效避免数据修改、重放攻击中的各种问题

6、避免仅使用前端校验,应在前后端同时设置校验机制,严格校验用户的数据

5、暴力破解

暴力破解是一种针对密码的破译方法,将密码进行逐个推算知道找出正确的密码为止

5.1 C/S架构暴力破解

常用于网络协议、系统、数据库、第三方应用密码的破解:

暴力破解FTP、SSH、SMB、Sqlserver、Mysql、Redis等

5.2 B/S架构暴力破解

B/S架构即浏览器/服务器结构,暴力破解:

上面 2.1 旁站&跨库 中已经讲过暴力破解bluecms的账号密码,这里不再讲述

5.3 hydra的安装与使用

hydra(九头蛇)是一个网络账号破解攻击

5.3.1 hydra的安装

kali linux下自带

5.3.2 hydra的使用

hydra常用参数:

-l            指定一个用户名
-L            指定一个用户字典
-P			  指定一个密码字典
-s			  指定端口
-vV			  显示每次的尝试信息
-f			  遇到正确的密码,停止爆破
-o            将结果输出到文件中
-M            指定一个服务器列表
-t            Tasks同时运行的线程数,默认为16
-e nsr        n:尝试空密码  s:将用户名作为密码  r:将用户名方向

使用hydra暴力破解ftp服务:

在windows使用phpstudy开启ftp

设置账号为ftp/123456并启动ftp服务

在这里插入图片描述

启动,需要手动启动一下ftp

在这里插入图片描述

确保linux和weindows两台主机之间的网络是互通的

windows:10.0.0.160
linux:10.0.0.158

在这里插入图片描述

在这里插入图片描述

hydra ip 服务 -l 用户名 -P 字典
hydra 10.0.0.160 ftp -l ftp -P pwd.txt -vV -f -e ns

将字典pwd.txt,放在当前目录下

在这里插入图片描述

成功破解出密码为:ftp/123456

在这里插入图片描述

物理机利用该密码成功登录ftp服务器

ftp://10.0.0.160/

在这里插入图片描述

在这里插入图片描述

使用hydra暴力破解ssh服务:

windows:10.0.0.167
linux:10.0.0.158

首先在Windows系统中安装openssh,以Win 11为例:

在这里插入图片描述

安装完成后,看到C盘目录下已经存在OpenSSH文件夹,接下来配置环境变量:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

配置完成后,在命令行输入sssh,出现下图即代表安装成功:

在这里插入图片描述

在Win 11下默认安装openssh,账号密码默认是当前系统用户的微软账号和密码

hydra 10.0.0.167 ssh -l Administrator -P pwd.txt -o ssh.log

破解出账号密码为Administrator/ly123

在这里插入图片描述

查看输出的文件也可以发现:

破解出10.0.0.160的ssh账号密码为Administrator/ly123

在这里插入图片描述

使用hydra暴力破解rdp服务:

win 11开启远程桌面(默认开启)

在这里插入图片描述

在这里插入图片描述

hydra 10.0.0.167 rdp -l Administrator -P pwd.txt -vV -f -e ns

发现爆破出rdp的账号密码为Administrator/ly123

在这里插入图片描述

使用该账户成功登录服务器

在这里插入图片描述

在这里插入图片描述

当用物理机远程虚拟机win 11时,虚拟机就掉线了,因为同一个账号只能被一个用户所登录

在这里插入图片描述

使用hydra暴力破解mysql服务:

win11中开启mysql服务,查看账号密码:

在这里插入图片描述

在这里插入图片描述

hydra 10.0.0.167 mysql -l root -P pwd.txt 

发生了报错,意思是MySQL没有开启远程连接

在这里插入图片描述

安装数据库管理工具

在这里插入图片描述

在这里插入图片描述

设置MySQL允许远程连接:

运行 grant all privileges on *.* to root@'%' identified by 'root'; 语句

在这里插入图片描述

破解出10.0.0.167的mysql的账号密码为:root/root

在这里插入图片描述

5.4 暴力破解安全防范

1、安全的验证码

2、对验证码的有效期和次数进行限制

3、限制认证错误的提交次数,如:连续5次密码错误,锁定2小时

4、必要的情况下使用双因子认证(验证码+滑动验证码)

6、验证码安全

所用环境:pikachu

6.1 验证码安全介绍及分类

在安全领域,验证码主要分为两大类:操作验证码和身份验证码

验证码的主要作用:防止暴力破解、恶意注册、刷票、论坛灌水等脚本行为

验证码的分类:手机短信、手机语音、通用文字、加减法、非通用文字、非通用文字加背景随机加拉伸、无感知、滑动拼图、文字点选、图标点选、推理拼图、短信上行、语序点序、空间推理、语音验证等

6.2 验证码绕过(on client前端)

当未输入验证码的时候,提示“请输入验证码”:

在这里插入图片描述

当输入错误验证码的时候提示“验证码输入错误”:

在这里插入图片描述

当输入正确验证码的时候提示“用户名或者密码不存在”:

username or password is not exists~

在这里插入图片描述

经过前三步的测试,验证码基本功能完善

我们尝试截取登录处数据包,修改密码但不更改验证码并多次重放之后发现没有提示验证码错误,该验证码依然有效,说明可能存在验证码可以重复使用的情况:

在这里插入图片描述

分析验证码部分的源代码:

代码逻辑没有问题,原因在于写在前端了

完整的实现 请求 --> 响应 过程页面才会刷新,只有页面刷新才能获取新的验证码,而我们抓到了请求包,响应回不去客户端,所以验证码无法刷新,从而导致验证码可以重复利用

在这里插入图片描述

在这里插入图片描述

既然验证码无效,就可以直接暴力破解了

在这里插入图片描述

在这里插入图片描述

破解出密码为1223456

在这里插入图片描述

除了抓包,也可以通过禁用js来绕过验证码

在这里插入图片描述

删除校验验证码的功能也能绕过

在这里插入图片描述

6.2 验证码绕过(on server后端)

先对验证码的功能进行完备性的验证

不输入验证码点登录:

在这里插入图片描述

输错验证码点登录:

在这里插入图片描述

输入正确的验证码:

在这里插入图片描述

输入一个正确的验证码,抓包:发现验证码还是可以重复利用

在这里插入图片描述

为什么代码在后端,还会出现验证码重复利用这种情况呢?

在这里插入图片描述

在burp反复 send 是2和3的过程,没有走完完整的通信,问题是验证码是后端生成的,正常情况下,只要2给了服务端,服务端就应该更新验证码

所以问题还是出现在后端,查看源代码:app\vul\burteforce\bf_server.php

在这里插入图片描述

造成该验证码重复使用的原因是:验证码在验证之后没有销毁$_SESSION[‘vcode’],造成了重复使用

在这里插入图片描述

如果销毁了$_SESSION[‘vcode’],即使新的验证码没有生成,旧的验证码也不可以用了

7、社会工程学

非技术渗透手段,简单来说就是骗

8、APT攻击

APT即高级持续性威胁,是一种潜伏周期较长、隐蔽性较强的攻击模式

APT攻击常用手段:

1️⃣水坑攻击

提前分析要攻击的目标有什么规律,寻找其经常访问的网站弱点,并事先攻击该网站,等待目标来访,伺机进行攻击

2️⃣路过式下载

攻击者把木马文件植入到某个软件中,用户下载软件的同时也下载了木马

3️⃣网络钓鱼和鱼叉式网络钓鱼

钓鱼攻击

4️⃣0day漏洞

没有在市面上公布出来,掌握在极少数人手里

APT攻击方法

1️⃣恶意代码检查

通过流量抓到攻击者用的什么payload打到你的,通过payload还原攻击代码、攻击路径,做个有针对性的修复

2️⃣主机保护应用

看行为:执行了什么操作系统路径、对外传输了哪些数据

监控企业内内所有主机安全行为

3️⃣网络入侵检测

通过流量监控设备,结合一些态势感知,对整个流量进行监控

4️⃣大数据分析检测

通过全面分析海量日志数据来还原APT攻击场景

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2136561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

神经网络的公式推导与代码实现(论文复现)

神经网络的公式推导与代码实现(论文复现) 本文所涉及所有资源均在传知代码平台可获取 概述 本文将详细推导一个简单的神经网络模型的正向传播、反向传播、参数更新等过程,并将通过一个手写数字识别的例子,使用python手写和pytorch…

充电管理芯片

1.接口 typec SBU引脚(辅助通道) SBU引脚是Type-C接口母座中的辅助通道,用于支持附加的功能,如模拟音频和视频传输。通过SBU引脚,Type-C接口母座可以实现更广泛的连接应用,包括连接到外部显示器、音频设备…

【前端】main.js中app.vue中 render函数的作用及使用背景

vue.js中的main.js中的作用是将app组件挂载到页面中&#xff0c;其中app组件是汇总所有组件元素的组件。main.js的创建vue实例。 #认为的版本 import APP from ./App.vue;new Vue({el:#root,template:<App></App>,components:{App}, })#实际的版本 /* 整个项目的入…

基于imx6ull平台opencv的图像采集和显示屏LCD显示功能(带Qt界面)

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境三、开发流程3.1 编写测试3.2 验证功能一、概述 本文档是针对imx6ull平台opencv的图像采集和显示屏LCD显示功能,创建Qt工程,在工程里面通过点击按钮,实现opencv通过摄像头采集视频图像,将采集的视频图像送给显示屏LCD进…

docker-compose elasticsearch 集群搭建(用户登录+https访问)

文章目录 前言docker-compose elasticsearch 集群搭建(用户登录+https访问)1. 效果2. 制作elasticsearch + 分词器镜像2.1. 拉取elasticsearch:7.11.12.2. 制作特定版本镜像3. docker-compose elasticsearch 集群制作4. es账户密码初始化前言 如果您觉得有用的话,记得给博主点…

<Python>基于python使用PyQt6编写一个延迟退休计算器

前言 这两天关于延迟退休的话题比较火&#xff0c;官方也退出了延迟退休计算器的小程序&#xff0c;我们使用python来实现一个。 环境配置 系统&#xff1a;windows 平台&#xff1a;visual studio code 语言&#xff1a;python 库&#xff1a;pyqt6 程序依据 程序的算法依据…

常见本地大模型个人知识库工具部署、微调及对比选型

文章目录 常见本地大模型个人知识库工具部署、微调及对比选型知识库侧AnythingLLMMaxKBRAGFlowFastGPTDifyOpen WebUI小结大模型侧OllamaLM StudioXinference小结大模型侧工具安装部署实践Ollama部署Windows部署OllamaLinux部署OllamaOllama使用技巧模型更换存储路径导出某个模…

外国车牌字符识别与分类系统源码分享

外国车牌字符识别与分类检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Co…

【Java面试】第九天

&#x1f31f;个人主页&#xff1a;时间会证明一切. 目录 Spring中如何开启事务&#xff1f;编程式事务声明式事务声明式事务的优点声明式事务的粒度问题声明式事务用不对容易失效 Spring的事务传播机制有哪些&#xff1f;Spring事务失效可能是哪些原因&#xff1f;代理失效的情…

Ubuntu下beanstalkd无法绑定局域网IP地址以及消息队列beanstalkd上的error: JOB_TOO_BIG的解决

一、ubuntu下beanstalkd无法绑定局域网IP地址 今天因为业务需要&#xff0c;我把之前安装的beanstalkd所绑定的IP地址由127.0.0.1改成局域网IP地址&#xff0c;但是怪了&#xff0c;显示beanstalkd已经启动&#xff0c;查看端口监控也显示IP地址变了&#xff0c;但是使用telnet…

matlab绘制不同区域不同色彩的图,并显示数据(代码)

绘图结果如下&#xff1a; 代码如下&#xff1a; A为绘图的数据&#xff0c;每个数据对应着上图中的一个区域&#xff0c;数据大小决定区域的颜色 % 假设有一系列的数据点 Arand(5,6); %A为绘图的数据&#xff0c;数据大小决定颜色 wei_shu%.3f; %代表数据保留三位小…

[Golang] Channel

[Golang] Channel 文章目录 [Golang] Channel什么是Channelchannel的初始化channel的操作双向channel和单向channel为什么有channel有缓冲channel和无缓冲channlechannel做一把锁 从之前我们知道go关键字可以开启一个Goroutine&#xff0c;但是Goroutine之间的通信还需要另一个…

Recyclerview实现滑动居中缩放菜单

最近项目中需要的一个滑动菜单效果:要求当前居中选项放大、滑动时有缩放效果、点击两边的选项滑动到屏幕中央、停止滑动选项停留在屏幕中间(类似viewPager的效果),为了直观,先上最终实现效果图: 大体思路: Recyclerview item头尾添加空数据,让第一个和最后一个item也能…

计算机组成原理(第二次笔记)

各种码 真值 (书写用)&#xff1a; 将用“”、“-” 表示正负的二进制数称为真值 机器不能识别书写格式&#xff0c;故用“0/1”表示“/-”符号。 机器码 (机器内部使用)&#xff1a; 将符号和数值一起编码表示的二进制数称为机器码。 常用机器码&#xff1a;原码、 反码、 补…

Linux网络编程 --- 高级IO

前言 IO Input&&Output read && write 1、在应用层read && write的时候&#xff0c;本质把数据从用户层写给OS --- 本质就是拷贝函数 2、IO 等待 拷贝。 等的是&#xff1a;要进行拷贝&#xff0c;必须先判断读写事件成立。读写事件缓冲区空间满…

Kafka+PostgreSql,构建一个总线服务

之前开发的系统&#xff0c;用到了RabbitMQ和SQL Server作为总线服务的传输层和存储层&#xff0c;最近一直在看Kafka和PostgreSql相关的知识&#xff0c;想着是不是可以把服务总线的技术栈切换到这个上面。今天花了点时间试了试&#xff0c;过程还是比较顺利的&#xff0c;后续…

破解AI生成检测:如何用ChatGPT降低论文的AIGC率

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 降低论文的“AIGC率”是个挑战&#xff0c;但有一些策略可以尝试。使用ChatGPT逐步调整和改进内容&#xff0c;使其更加自然和原创&#xff0c;降低AI检测工具识别出高“AIGC率”的概率…

专访阿里云:AI 时代服务器操作系统洗牌在即,生态合作重构未来

编者按&#xff1a;近日&#xff0c;2024 龙蜥操作系统大会已于北京圆满举办。大会期间&#xff0c;CSDN 采访了阿里云基础软件部资深技术总监、龙蜥社区技术委员会主席杨勇&#xff0c;前瞻性宏观解读面向 AI 智算时代&#xff0c;服务器操作系统面临的挑战与机遇。以下为采访…

云曦2024秋考核

真正的hacker 进去以后一眼就能看出来&#xff0c;是ThinkphpV5漏洞&#xff0c;只是版本不能确定&#xff0c;一开始考核的时候是&#xff0c;抓包看了php的版本&#xff0c;是7.23&#xff0c;是手注了几个尝试出来的&#xff08;后面才发现报错信息里面就有&#xff09;。漏…

记录word转xml文件踩坑

word文件另存为xml文件后&#xff0c;xml文件乱码 解决方法&#xff1a; 1.用word打开.docx文件 2.另存为xml文件 3.点击工具 -> Web选项 -> 编码&#xff0c;选择UTF-8 4.点击确定 5.使用notpad打开xml文件 6.使用xml tool进行xml格式化即可。