【渗透测试学习】—记录一次自测试渗透实战

news2024/11/18 11:27:32

写在前面

本文是作者入门web安全后的第一次完整的授权渗透测试实战,因为最近在总结自己学习与挖掘到的漏,无意中翻到了这篇渗透测试报告,想当初我的这篇渗透测试报告是被评为优秀渗透测试报告的,故在此重新整了一下,分享一下自己的思路与骚操作给大家。总的来说,就是一些web安全常见漏的挖掘,还有就是逻辑漏里自己发现的一些骚操作。如有不正确之处,敬请大家斧正。

WEB安全

一、XSS

首先,当我们拿到一个网站,最常见的操作就是进入网站的主页,查看网站有没有框框,xss最常见的测试方法就是“见框就插”,果不其然,我们在搜索框一“插”,就“插”出来了,虽然只是一个xss,但是这是我挖到的第一个啊,内心还是有些小激动的。本来框框还可以检查是否存在SQL注入,但是不巧的是,此处并没有。

以下是具体的操作:

1.进入url:

http://www.xxxx.com/?act=search&keyword=%27%22%28%29%3Cacx%3E%3Cscript%3Ealert%28%27xss%27%29%3C%2Fscript%3E

2.位置是在搜索框,这里存在xss

3.写入自己准备好的xss验证的payload:

%27%22%28%29%3Cacx%3E%3Cscript%3Ealert%28%27xss%27%29%3C%2Fscript%3E

4.证明在这里看哦:

b5eeccf0a32dc40eb712ac8fe7944db7.jpeg

与xss有关的,我们就挖掘到这里,下面我们进行下一处的挖掘。

二、弱

接下来,我们来到了用户登录模块,因为如果不进行用户登录的话,我们拥有的操作空间和权限是非常小的,而且登录页面,也是多发的页面,比如弱口令啊、短信轰炸啊、验证码可绕过啊等等,可惜的是在这里,我只验证成功了弱令,具体操作如下:

首先,我们来观察此网站的用户名,巧的是我们发现这个网站的用户名具有一致性,那么我们可以进行什么操作呢,没错,在此处我们可以利用神器burpsuite进行爆破,我们可以枚举网站有注册的用户,这其实也是一个用户名枚举洞,只是我把它和弱口令洞放在一起了,我们当然还可以用枚举出来的用户名,来爆破它们信息,下面是具体操作:

这是我爆破出来的用户名,username=mb12202,password=123456,在这吐槽一句,弱口令洞是一个永远也修复不完的通用洞

bf2312d35e40667659ab995872811bab.jpeg

我们登陆以后,可以来查看用户的具体信息,可以看到手机号、IP、收货地址、绑定的QQ和微信等等,下面是手机号和IP信息,不过我们是看不到用户手机号的中间的四位数字的,但是这是我们可以进行一定的操作来查看的哦,具体操作请各位看官继续往下面看

962790c3eb3a526ba385df8a93f3997b.jpeg

下面是收货地址的信息

2b5d7f602cc2662cf4897fb35e16cf40.jpeg

在这个功能处我们可以进行如下操作:

1、因为我们知道了mb12202的帐号也就是昵称还有,而且这个网站设置的是昵称和手机号都能够用相同的进行登陆,所以我们可以在此处爆破mb12202用户的手机号的中间4位,即可得到完整手机号

e5e69f830f8175a99bbd4db3f7646a39.jpeg

得到手机号的中间4位为3829

2、我们之前在用户的个人信息里的收件地址里还看到了另外的一个手机号码,我们在这里猜测,这个手机号也是一个注册用户,然后下一步我们就要开始爆破mb12202用户收件地址里的手机号1722xxxx607的,username=1722xxxx607,password=123456,果不其然,这个电话号码,果然也是一个注册用户,真是踏破铁鞋无觅处,得来全不费功夫啊

6697443806ec7399c7ddc26e7561509d.jpeg

与弱口令有关的漏,我们就挖掘到这里,下面我们进行下一处漏的挖掘。

三、url重定向,可进行

既然我们挖掘上一处漏的时候已经掏出了我们的神器burpsuite,那么我们肯定不能把它抛弃,而是继续进行骚操作啊。依稀还记得当初挖到这个漏的时候是非常兴奋的,因为这个漏不容易被发现,所以,我们在漏的挖掘中一定要细,细到不能再细为止。

大体思路如下,首先在存在漏页面进行抓包,放包之后就会进入到如下图所示的请求包里,我们修改请求包里的ap_id参数,第一次放包后是别的数字,请记住一定要修改为378,如果修改成别的数字是没用的,放包后进入到响应包页面,对响应包进行修改,可以插入恶意图片以及链接,放包后,就会出现在网站里,用户点击后就会进行跳转。

下面是具体操作:

1.可插入图片的url:http://www.xxxx.com/index.php本网站有很多,在此仅举一例

2.修改请求包中的ap_id为378

e4dee32cf09c1548eeea1e893da69a67.jpeg

3.修改响应包,插入恶意的图片以及链接

945d08046c3906bfaa66e882b88b04a6.jpeg

4.插入图片到网站中

ed5c3032b9d3176d95385edd4e32f075.jpeg

5.用户点图片进入简书登录页面,可钓鱼

b81edc72fd40c6c6e6a1c37bf9bf1566.jpeg

6.用户点击后,在根目录生成usernames.txt文档

005df1209c3cb7b05a727e64f6ef46d0.jpeg

7.查为123.123

1a904744b12594bb3f55fb91779ba5a8.jpeg

与url重定向有关的,我们就挖掘到这里,下面我们进行下一处的挖掘。

逻辑

一、网站存在商品在未前扣除库存量的订单生成的逻辑

接下来我们就要进入到逻辑漏洞的挖掘环节了,大家有没有一点小期待啊,好了,不扯了,下面我们进入正题。逻辑是很多的工具所无法发现的,大部分都是手工挖掘出来的。

经过测试我们会发现,本网站内商品存在两项,总体思路如下:

第一项,在提交订单时,后端未校验用户购买的数量和前端提交的数量是否一致;

第二项,者可以通过更改购买某一商品,这一产品的最大数量,创建订单提交支付请求后,使攻者即使在未完成订单支付前,也会扣除商品库存,使恶意用户可以无限制下单,导致他人无法参与购买这一产品,恶意用户也可以将所有商品的库存修改为0,使其他用户购买时,将显示库存不足,无法正常购买。

具体操作如下:洞url位于生成订单逻辑处http://www.xxxxx.com/item-100480.html

1.首先查看商品首页,库存为101件

2.点击立即,进入我的购物车页面,查看购买订单

8495ba183fa336cc1cd117f765a91c8c.jpeg

3.点击提交订单,抓取数据包,修改数量为101,放包

292ea6a796a6c7c0708cf0834d2583b2.jpeg

4.查看我的订单:

b1fa6c9354f9d0a78c0f1b9db637da53.jpeg

5.查看商城首页的这一商品,显示这一商品已无库存:

f1525c50063610d7792df1c5e8bb80fc.jpeg

至此,网站存在商品在未支付前扣除库存量的订单生成的逻辑,验证成功,我们进入下一项漏洞的挖掘。

二、此网站存在代金券无上限获取拥有与使用的逻辑

挖掘这项,也需要我们大家非常细心,要有一定的骚操作,才会发现这项。

URL:https://www.xxxx.com/shop/index.php?act=pointvoucher&op=index

1.打开电脑版的网站,我们可以看到代金券的数量绕过了最大领取数量为50的限制,此时拥有量为62张

763b12568ce3206de39b6c1e1794adad.jpeg

2.此时查看电脑版,代金券确实有最大兑换数量为50的限制,但没有限制用户拥有量,证明此处有bug

df68882dfee6b5d6e68dffb4b52bd4b8.jpeg

3.使用电脑版网站购买商品使用代券

商品库存为19件

d4ba51e85ff1322e2ac5af48d5f4c497.jpeg

4.那我们就买19次,使用19张代金券

查看当前商品已无库存

61df1ca9232c70be3fcecb03ff9e6d16.jpeg

5.查看电脑版有19个订单

cb08dcbc5c528b369d373033d89920df.jpeg

6.电脑端查看代金券还剩43张,62-19=43

b4a044a7cf6da5717f8b67f6dddf6f0c.jpeg

7.重新在购物车获取7张代金券(本网站设置的是可以在购物车内获取代金券,只是代金券的最大数量限制为50),现在有50张,43+7=50

a3c0e4b0f77bdfd67f29a07fe7cd3dc9.jpeg

8.退掉那19张订单

​查看当前商品又有19个库存

9fb5b87246064ac598651f00e728d3a2.jpeg

9.查看电脑版已经没有订单了

195fd81d8df4bd2577ad844e90b9655b.jpeg

10.电脑端查看代金券已有69张,50+19=69

2afcd9509e713fd6f3389c24fc3b6783.jpeg

而最初的代金券是62张,多了7张,69-62=7,这7张就是当代金券消耗到43张时,在购物车重新领取的7张代金券。

由此推断,当继续购买69件商品时,已有代金券数量将为0,(69-69=0),此时可以在购物车继续领取50张代金券,代金券数量为50,(0+50=50),然后再退掉那69张订单,此时代金券数量将变为119(50+69=119),同理,恶意者可以无上限拥有代金券。

结束语

至此,这次授权的渗透测试实战已结束,不论这篇文章里蕴含的技术含量怎么样,这都是作者刚入门web安全后的第一次完整的授权渗透测试实战,还是一些骚操作的,在此分享给大家,如有打码不规范,请勿私自渗透。

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

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

相关文章

创客匠人直播:构建公域到私域的用户增长模型

进入知识付费直播带货时代,很多拥有知识技能经验的老师和培训机构吃到了流量红利。通过知识付费直播,老师们可以轻松实现引流、变现,还可以突破时间、地域的限制,为全国各地的学员带来优质的教学服务,因此越来越受到教…

【Linux】-- 多线程安全

目录 进程互斥 计算 -> 时序问题 加锁保护 pthread_mutex_lock pthread_mutex_unlock 使用init与destory pthread_mutex_init phtread_mutex_destory 锁的实现原理 图 可重入VS线程安全 死锁 Linux线程同步 条件变量 系统调用 进程互斥 进程线程间的互斥相关…

【C语言经典例题】打印菱形

目录 一、题目要求 二、解题思路 上半部分三角形 打印空格 打印星号* 下半部分三角形 打印空格 打印星号* 三、完整代码 代码 运行截图: 一、题目要求 输入一个整数n(n为奇数),n为菱形的高,打印出该菱形 例&a…

【模拟集成电路】鉴频鉴相器设计(Phase Frequency Detector,PFD)

鉴频鉴相器设计(Phase Frequency Detector,PFD)前言一、 PFD的工作原理二、 PFD电路设计(1)PFD电路图(2)D触发器电路图(3)与非门(NAND)电路图&…

【死磕数据库专栏】MySQL对数据库增删改查的基本操作

前言 本文是专栏【死磕数据库专栏】的第二篇文章,主要讲解MySQL语句最常用的增删改查操作。我一直觉得这个世界就是个程序,每天都在执行增删改查。 MySQL 中我们最常用的增删改查,对应SQL语句就是 insert 、delete、update、select&#xf…

亚马逊侵权了怎么办?不要恐慌,这套申诉方法教你解决

侵权,在亚马逊可是大忌!在亚马逊平台上,卖家侵权行为被认为是极为严重的违规行为。亚马逊采取的对待侵权的措施通常相当严厉,从轻者的产品下架到重者直接被禁售。所以如果你的产品涉嫌侵犯知识产权,那么想要在亚马逊上…

软件质量保证与测试(测试部分)

第九章、软件测试过程 9.1 计算机软件的可靠性要素 9.2 软件测试的目的和原则 9.3 软件测试过程 9.4 软件测试与软件开发的关系 9.7 测试工具选择 9.7.1 白盒测试工具 9.7.2 黑盒测试工具 第十章、黑盒测试 10.1 黑盒测试的基本概念 10.2 等价类划分 10.2.2 划分等价类的方法…

MinGW编译log4cpp

log4cpp的官网和下载地址 https://log4cpp.sourceforge.net/ https://sourceforge.net/projects/log4cpp/files/ 使用MinGW编译log4cpp 进入到log4cpp的源码目录 cd F:\3rdParty\Log\log4cpp\log4cpp-1.1.3\log4cpp 创建文件夹 mkdir build && mkdir outcd build …

死磕Spring,什么是SPI机制,对SpringBoot自动装配有什么帮助

文章目录如果没时间看的话,在这里直接看总结一、Java SPI的概念和术语二、看看Java SPI是如何诞生的三、Java SPI应该如何应用四、从0开始,手撸一个SPI的应用实例五、SpringBoot自动装配六、Spring SPI机制与Spring Factories机制做对比七、这里是给我自…

软件测试5年,历经3轮面试成功拿下华为Offer,24K/16薪不过分吧

前言 转眼过去,距离读书的时候已经这么久了吗?,从18年5月本科毕业入职了一家小公司,到现在快5年了,前段时间社招想着找一个新的工作,前前后后花了一个多月的时间复习以及面试,前几天拿到了华为的…

redis(4)String字符串

前言 Redis中有5大数据类型,分别是字符串String、列表List、集合Set、哈希Hash、有序集合Zset,本篇介绍Redis的字符串String Redis字符串 String是Redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value…

Python使用百度通用API进行翻译

想汉化StarUML这个软件,感觉工作量太大,想要用Python自动翻译。 结果网上找的一个个用不了,或者用一会儿就断。 于是自己手写了一个简单的,只有两个类:APIConfig和Translater 使用 demo my_api_config APIConfig(…

指针的进阶——(1)

本次讲解重点: 1、字符指针 2、数组指针 3、指针数组 4、数组传参和指针传参 5、函数指针 关于指针这个知识点的主题,我们在前面已经初级阶段已经对指针有了大致的理解和应用了。我们知道了指针的概念: 1、指针就是地址,但口…

PHP基础(3)

PHP基础表单提交文件处理PHP连接数据库异常抛出表单提交 PHP通过全局变量 $_GET和 $_POST来收集表单数据。 接下来改用post方式进行提交,再次查看是否隐藏了提交的内容: 发现提交的信息已经不在链接之中进行显示了。 GET与POST区别在于一个会在连接…

番外9:使用ADS对射频功率放大器进行非线性测试1(以IMD3测试为例)

番外9:使用ADS对射频功率放大器进行非线性测试1(以IMD3测试为例) 一般可以有多种方式对射频功率放大器的非线性性能进行测试,包括IMD3、ACPR、ACLR等等,其中IMD3的实际测试较为简单方便不需要太多的仪器。那么在ADS中…

VUE的生命周期- VUE2.x

1.生命周期有哪些VUE2.x 自带八个:beforeCreate,created,beforeMount,mounted,beforeUpdate,updated,beforeDestroy,destroyed2.一旦进入组件会执行哪些生命周期beforeCreate,created,beforeMount,mountedbeforeCreate,没有DOM($el),没有data,不能拿到方…

飞桨-鹏城云脑发行版亮相第四届启智开发者大会,软硬一体化助力科研

2月24日,主题为“算网筑基、开源启智、AI赋能”的第四届OpenI/O启智开发者大会在深圳开幕,大会由科技部指导、鹏城实验室与新⼀代人工智能产业技术创新战略联盟(AITISA)主办,科技部高新司副司长梅建平,中国…

Simple RNN、LSTM、GRU序列模型原理

一。循环神经网络RNN 用于处理序列数据的神经网络就叫循环神经网络。序列数据说直白点就是随时间变化的数据,循环神经网络它能够根据这种数据推出下文结果。RNN是通过嵌含前一时刻的状态信息实行训练的。 RNN神经网络有3个变种,分别为Simple RNN、LSTM、…

ESP-C3入门13. SoftAP模式

ESP-C3入门13. SoftAP模式一、 ESP32-C3 WIFI的工作模式二、SoftAP配置1. wifi_config_t 结构体2. wifi_event_handler 事件(1) esp_event_handler_instance_register 注册事件(2) system_event_sta_connected_t 结构体3. 关闭SoftAP三、示例1. main.c2. wifi_ap.h3. wifi_ap.…

自动化构建部署devops(CICD)--敏捷开发

一。gitlab结合jenkins自动化项目构建部署 代替早期的手动部署服务,写文档,java-jar启动啦。麻烦还容易出错。 二。DevOps 三。部署流水线 四,页面工具(类似于ones) 1,开发组长在页面添加项目成员&#…