记一次简单的渗透测试


       本文所涉及的任何技术、信息或工具,仅供学习和参考之用。请遵守《中华人民共和国网络安全法》。



中华人民共和国网络安全法
第二十七条 规定

       任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具;明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。
 


       本来早就想写写渗透测试的内容,奈何时间不够,又要测试又要记录啥的,如果是客户的资产还要等人家修复完,文章还要打码,还有就是可能有些步骤忘记记录没有那么全,简单的大家又都会,所以也就一直拖着没写。

       记一次简单的渗透测试吧,刚好最近测试了一个小程序,就整理成了本文,不过测试内容比较简单,大佬可以移步了。

0x01、session_key泄露

       session_key指的是会话密钥,可以简单理解为微信开放数据AES加密的密钥,它是微信服务器给开发者服务器颁发的身份凭证,这个数据正常来说是不能通过任何方式泄露出去的。小程序若存在session_key泄露漏洞的情况,则代表微信侧传递的用户数据有被泄露、篡改等风险。

例如,在本次渗透测试过程中由于该小程序的session_key、iv等敏感信息泄露,导致该小程序可以使用任意手机号进行登录,造成了极大的安全风险。

1、打开小程序之后,点击授权登录,然后再允许手机号授权申请

2、抓包发现session_key、iv等敏感信息泄露

3、利用AppletPentester插件构造登录数据

4、改包将encryptedData数据信息替换成所构造的登录数据,如下图所示伪造成功

成功登录获取到信息

5、成功进入到小程序

0x02、登录绕过

在用户验证接口处存在逻辑漏洞登录绕过,修改响应包即可登录。

1、修改响应包

2、成功绕过

0x03、SQL注入

经过一番测试,同样在用户验证接口处还存在SQL注入漏洞,详情如下所示

3.1、测试注入点

1、布尔注入

sql执行的条件判断结果为false:

sql执行的条件判断结果为true:

2、时间注入

则可构造恶意SQL语句,通过回显判断是否执行成功,或者使用时延语句通过时延判断,即可布尔盲注或时间注入。

3.2、SQL注入测试

以bool型为例

1、遍历长度

2、遍历名字

3.3、py脚本

通过for循环遍历,通过匹配响应数据判断是否成功:

1、定义长度判断函数:

2、定义名字判断函数:

3、主函数:

4、运行结果

成功跑出USER名字:dbo

0x04、总结

       总体来说该小程序设计的比较简单,并没有很多功能点,大部分都是查看数据的,而且太过频繁会被 ban IP ~o.O~,都是些简单的渗透测试,发现的漏洞也比较少,虽然是有一个sql注入,但也只是停留在跑数据,并没有getshell。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值