对网站api接口漏洞渗透测试过程

简介: 某一客户的网站,以及APP系统数据被篡改,金额被提现,导致损失惨重,漏洞无从下手,经过朋友介绍找到我们,我们随即对客户的网站服务器情况进行大体了解.建议客户做渗透测试服务.模拟攻击者的手法对网站存在的数据篡改漏洞进行检测与挖掘,就此渗透测试服务的过程进行记录与分享.

某一客户的网站,以及APP系统数据被篡改,金额被提现,导致损失惨重,漏洞无从下手,经过朋友介绍找到我们,我们随即对客户的网站服务器情况进行大体了解.建议客户做渗透测试服务.模拟攻击者的手法对网站存在的数据篡改漏洞进行检测与挖掘,就此渗透测试服务的过程进行记录与分享.

首先客户网站和APP的开发语言都是使用的PHP架构开发,后端使用的thinkphp开源系统,对会员进行管理以及资料的统计,包括充值,提现,下单功能.服务器使用是linux系统.共有3个接口,分别是WEB前端,接口,后台,都采用的是action的方法来调用,并初始化数据.我们看下代码
__20191117084915

不同入口传入过来的值,并进一步的操作都不一样,我们技术在get,post,cookies的请求方式中,发现一个规律,在查看代码中发现都是使用的get()的方式来对传入过来的值进行安全效验与拦截.对一些特殊符号包括<> 都进行了安全转义,不会直接输入到后端中去.基本上的一些漏洞,XSS,SQL注入漏洞是不会很容易的找到.我们继续对代码进行分析与渗透测试,对漏洞多次的测试,终于找到一处存在SQL注入漏洞的代码,存在于网站的会员头像上传功能.

我们抓取上传的数据包,并进行修改,将恶意的SQL注入代码写入到数据包中,将头像的图片内容进行修改提交过去,发现服务器返回错误,原因是对图片的内容进行了解析操作,并将上传的路径地址写入到了数据库,而这个写入数据库的图片路径地址,并没有做详细的变量安全过滤,导致SQL注入的发生,由此可见,攻击者可以查询数据库里的管理员账号密码,并登陆到系统后台进行提权.平台的后台目录地址很容易遭到破解,后台名字写的竟然是houtai2019,很容易让攻击者猜解到,使用SQL注入漏洞获取到的管理员账号密码.登陆后台,上传webshell,查到数据库的账户密码,进行连接,修改数据库.
__20191117085118

在对后台的渗透测试发现,后台也存在同样的任意文件上传漏洞,upload值并没有对文件的格式,做安全效验与过滤,导致可以构造恶意的图片代码,将save格式改为php,提交POST数据包过去,直接在网站的目录下生成.php文件.对此我们将渗透测试过程中发现的漏洞都进行了修复.

可能有些人会问了,那该如何修复渗透测试中发现的网站漏洞?

8

首先对SQL注入漏洞,我们建议大家对图片的路径地址写入到数据库这里,进行安全过滤,对于一些特殊字符,SQL注入攻击代码像select,等数据库查询的字符进行限制,有程序员的话,可以对路径进行预编译,动态生成文件名,对ID等值只允许输入数字等的安全部署,如果对程序代码不是太懂的话,也可以找专业的网站安全公司来解决,剩下的就是任意文件上传功能的漏洞修复,修复办法是对上传的文件名,以及文件格式做白名单限制,只允许上传jpg.png,gif,等图片文件,对上传的目录做安全设置,不允许PHP等脚本文件的执行,至此客户网站数据被篡改的原因找到,经过渗透测试才发现漏洞的根源,不模拟攻击者的手段.是永远不会找到问题的原因的.也希望借此分享,能帮助到更多遇到网站被攻击情况的客户.

相关文章
|
11天前
|
测试技术 API 项目管理
API测试方法
【10月更文挑战第18天】API测试方法
25 1
|
3天前
|
供应链 数据挖掘 API
电商API接口介绍——sku接口概述
商品SKU(Stock Keeping Unit)接口是电商API接口中的一种,专门用于获取商品的SKU信息。SKU是库存量单位,用于区分同一商品的不同规格、颜色、尺寸等属性。通过商品SKU接口,开发者可以获取商品的SKU列表、SKU属性、库存数量等详细信息。
|
4天前
|
JSON API 数据格式
店铺所有商品列表接口json数据格式示例(API接口)
当然,以下是一个示例的JSON数据格式,用于表示一个店铺所有商品列表的API接口响应
|
7天前
|
Java 测试技术 API
拼多多 API 接口申请通过后如何进行测试?
拼多多 API 接口申请通过后,需按以下步骤测试:1. 仔细研读接口文档;2. 搭建测试环境,准备开发工具和模拟请求工具;3. 编写测试代码或使用测试工具;4. 设计测试用例,包括正常、异常和边界情况;5. 验证测试结果,检查返回值和错误处理;6. 记录和分析测试结果,确保 API 的稳定性和性能。
|
14天前
|
编解码 监控 API
直播源怎么调用api接口
调用直播源的API接口涉及开通服务、添加域名、获取API密钥、调用API接口、生成推流和拉流地址、配置直播源、开始直播、监控管理及停止直播等步骤。不同云服务平台的具体操作略有差异,但整体流程简单易懂。
|
24天前
|
安全 测试技术 API
一图看懂API测试9种方法
一图看懂API测试九种方法:冒烟测试验证基本功能,功能测试确保符合规格,集成测试检查组件协同工作,回归测试防止新变更引入问题,负载测试评估性能稳定性,压力测试挑战极限负载,安全测试发现并修复漏洞,用户界面测试确保UI与API协调,模糊测试提升异常数据处理鲁棒性。
|
27天前
|
人工智能 自然语言处理 PyTorch
Text2Video Huggingface Pipeline 文生视频接口和文生视频论文API
文生视频是AI领域热点,很多文生视频的大模型都是基于 Huggingface的 diffusers的text to video的pipeline来开发。国内外也有非常多的优秀产品如Runway AI、Pika AI 、可灵King AI、通义千问、智谱的文生视频模型等等。为了方便调用,这篇博客也尝试了使用 PyPI的text2video的python库的Wrapper类进行调用,下面会给大家介绍一下Huggingface Text to Video Pipeline的调用方式以及使用通用的text2video的python库调用方式。
|
4天前
|
JSON 前端开发 JavaScript
API接口商品详情接口数据解析
商品详情接口通常用于提供特定商品的详细信息,这些信息比商品列表接口中的信息更加详细和全面。以下是一个示例的JSON数据格式,用于表示一个商品详情API接口的响应。这个示例假定API返回一个包含商品详细信息的对象。
|
26天前
|
JSON JavaScript API
(API接口系列)商品详情数据封装接口json数据格式分析
在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦!
|
10天前
|
JSON API 开发者
1688API商品详情接口如何获取
获取 1688 API 商品详情接口的步骤包括:1. 注册开发者账号;2. 了解接口规范和政策;3. 申请 API 权限;4. 获取 API 密钥;5. 实现接口调用(选择开发语言、发送 HTTP 请求);6. 处理响应数据。通过这些步骤,可以顺利调用 1688 的商品详情 API。