HTTP登录
http登录是以明文来传输的,但不全是
但大部分都是明文如:
爆破http登录,直接上字典就行了,不需要变换密码格式,但如果对方网站的是以密文传输,则相应的你要把密码转换为相应的密文
HTTPS登录
https登录是以密文的形式:如百度登录
如果要爆破https登录的话,就需要知道他的加密方式,把密码字典转换成相应的密文格式
演示
随便输入一个密码使用burpsuite进行抓包
这里,password是密文形式:
可以判断出对方是使用了md5加密格式。
设置password为可选项:
添加字典,并对字典进行同样的md5加密
字典正确,成功爆破
脆弱cookie登录
抓包测试前台页面和后台页面没有cookie值,猜测应该cookie有问题,通过代码审计如下代码:
只是判断是否含有cookie不到cookie进行验证
抓取数据包,给user随便一个值。
成功登录!
常见的分析: 查看cookie中是否有关键词如:user=admin
支付漏洞
商品数量
设置商品数量,抓取数据包
把数量num=88改为num=-1,发包
商品价格变成0元
订单编号
例子如:以A订单的价格去买B订单的商品
通过提交订单抓取数据包
获取订单编号
然后购买另一件商品,进行抓包
把这件商品的订单编号改为上一件的订单编号,实现漏洞价格变动
商品价格
对商品价格进行修改,如在数据包中把价格变为负数或很小的数
如:原先的价格为5400
把其改为1块钱,发包
商品就变为了1块的支付价格
商品ID
通过使用低价格商品的ID(name)值来替换高价格的ID值来实现价格变动
如上的5400数据包,中含有name值
这次购买6000元的产品,抓包
通过比对两个数据包的不同为id和name值
通过替换5400数据包中的值,把id和Name改成6400的id和name
就实现了5400购买6400
支付接口
不常见了
如下面的商品支付接口为微信
如果改源码中的s为可控变量如
$pay_name=$_GET[‘s’]
给s传统其他支付接口来实现支付
修复方案
- 对商品价格进行判断,不能为负数
- 商品价格以数据库中的值为准
- 设置类似的token值来对数据包进行唯一性处理