目录
登录应用功能点安全问题
检测功能点
危害
HTTP/HTTPS协议密文抓取
后台登录账号密码爆破测试
Cookie脆弱点验证修改测试
数据篡改安全问题
修改商品数量
修改商品编号
修改价格和商品
修改商品
一般在登录注册的地方都是可以进行检测的。
危害就是能够直接登录到某个用户的账号。
这里找了两个实例通过转包来看一下,数据包中具体的参数值的情况。
HTTP:
当输入账号为admin,密码为123456的时候,发现在数据包中的信息是明文传输的。
HTTPs:
HTTPs的网站就发现数据包中的password被经过了加密。这里并不是http协议一定是明文的。有的网站也是经过了加密。
这里想记录的就是:如果对方是经过了加密,那么在暴力破解的时候就一定要使用对方的加密的形式来进行爆破,否则是无济于事的。
这里搭建的是zblog的网站,这里使用的图是小迪老师的上课时候的图片,做一个简单的笔记。
找到后台登陆地址,先尝试登陆一下,通过抓包看一下,数据包中的username和password的值是否被加密传输,如果被加密的话,是否能够识别出采用的那种加密的形式。
初步判断为MD5加密,因为password的值为32位并且是数字和小写字母组成的
看来这里的判断是正确的。发送到repeater模块,看一下回复包的长度,因为这里的密码肯定是错误,之后我们要用到爆破模块,先来看看错误的密码的回显数据包长度是多少。
选中密码的参数添加$,然后我们可以添加上一个字典,这里小迪老师自己写的一个字典,里面包含了正确的密码,在现实中,可以使用网上公开的字典,github上有。
我们在使用的字典的使用应该注意使用的是md5加密后的字典,或者是使用brupsuite的模块,如下,因为刚才就知道了password的值是经过了md5加密的,所以我们在爆破的时候也应该使用md5加密。
最后将其进行勾选。
进行爆破。
这里就发现了一个数据包的长度位745,与其他的数据包不相同,并且他的状态值为302,也就是说跳转了(登录成功)。
这里还是用的小迪老师上课的图,只是单纯的记录下知识点,如果侵权,请联系。
小迪老师这里用到的是熊海cms的一套源码。这里存在的问题就是对于cookie中的值验证不严谨。以下是网站的checklogin.php。
这里会验证从cookie中接受的user是不是为空,如果为空,则跳转到登录的界面,如果不为空,就登陆成功,这里并没有验证从cookie中获取的user是不是正确的。
这里是通过代码审计得到的这个漏洞。
这里有一篇大佬写的文章可以看一下:挖洞技巧:支付漏洞之总结 - SecPulse.COM | 安全脉搏
商品购买流程:
选择商品和数量->选择支付和配送方式->生成订单编号->订单支付选择->完成支付
常见的篡改参数:
商品的编号ID、购买价格、购买数量、支付方式、订单号、支付状态等
常见的修改方式:
替换支付、重复支付、最小额支付、负数支付、溢出支付、优惠券支付等。
这里使用niushop开源的商城搭建的网站,同样使用了小迪老师的课件。如有侵权,请联系删除。
点商品之后,看到可以选择配送地址,数量等信息,然后我们将数量改成88,通过抓包看一下数据包中的信息。
显然,这里的num参数就代表着我们要购买的商品的数量。
假设我们将数量改成-1,来观察会发生什么。
最终实现了零元购!
假设我们要购买1件商品,我们通过提交订单,抓包看数据包中的信息。
这里我们再去购买10件商品,抓包看一下订单的编号。
这时候我们就可以将订单1000的编号修改为订单为1w的编号,从而实现了用1k来购买了10件商品。
抓包看一下数据包的参数有哪些。
这里发现了qty应该是对应的商品的数量,还有price就是对应的商品的价格。 我们将price修改为1发包看一下回显。
这里是另一款产品,与上面的产品不同,在数据包中,发现除了id和name之外,其他的参数都是相同的。
这里我们在购买上面的产品的时候,将他修改为现在的产品的数据包的内容。也就是说将id和name进行修改。