Pikachu靶机练习
csrf
csrf, 跨站请求伪造, 也就是说攻击者盗用你的身份进行操作
有点类似xss, xss通常是打用户的cookie,而csrf可以发送给用户后,改掉用户密码,
还有就是跨站, 总的来说呢,就是假设你邮箱收到了攻击者的链接
1 | http://192.168.1.110:8080/vul/csrf/csrfget/csrf_get_edit.php?sex=test&phonenum=test&add=test&email=test&submit=submi |
这里假设192.168.1.110:8080为你访问的, 但是此时由于开发者疏忽,没有验证这个请求是不是跨站点的, 也就是来源在哪,没有确定, 就直接可以请求, 如果这时候,你账号登录了,cookie还存在浏览器中, 那你的用户信息就会被修改了
get方式
获取这个攻击链
1 | http://192.168.1.110:8080/vul/csrf/csrfget/csrf_get_edit.php?sex=allen&phonenum=17373450781&add=test&email=admin%40admin.com&submit=submit |
然后将其的值改为你想要数值,发送给用户就行了,这样就能改掉用户信息
post方式
渐渐地,人们发觉了这种攻击行为, 发觉了get传参相对不安全,那就换成post吧, 我不让你链接传信息,那你就没办法了吧
这些人还是低估了黑客, 他们发觉post比get只麻烦那么稍微一丢丢,也是可以搞定的
这种方式也是一样的
burp抓包,然后直接生成poc
然后就可以进行测试了
用户点击过后就会被改掉信息
这个可以自行伪造个页面,让用户去点击
token
在post方式也被大范围传播过后, 人们又得想出新的方法来对抗了,利用token
可以看到,传参的时候加入了token验证,这样黑客就没办法伪造了吧
我们自己改下试试,发觉没成功修改,那这种方式怎么绕过呢,暂时无法绕过,除非是前端生成的token.
防护
- 增加token验证
- 安全会话管理,比如cookie有效期
- 敏感操作二次验证, 尽量不要使用get传参,方便伪造
- http头部的referer检验
- 验证码
ssrf
服务端请求伪造
主要就是由于开发人员使用不当
- file_get_contents()
- curl_exec
- fsockopen
本题测试有curl跟get_content
curl
这里看到可以探测端口
get_content
这里看到利用文件协议读取flag
也可以利用读取源码,这里只读flag了,还得探测下文件路径先
防护
- 过滤内网ip
- 过滤各类协议
- 对返回内容识别
- 内网服务开启鉴别权限,也就是说web服务用户无法访问其余的
- 白名单
不安全的url
这里看到有重定向的, 而url=那种是最明显的,钓鱼我们就可以用这个
1 | http://192.168.134.128:8080/vul/urlredirect/urlredirect.php?url=http://www.baidu.com |
我们可以直接重定向到百度,当然这里替换成你自己的域名
越权
水平越权
我是lucy,但我查看个人信息的时候可以查看lili的信息
明显没有判断登录后的session与当前用户是否匹配
垂直越权
这里可以看到没有权限验证, pikachu也可以进入到添加用户页, 所以只要url暴露了就凉了
暴力破解
练习下burp
设置线程数
根据过滤
导入字典
设置需要爆破的
服务端校验
这种验证码长期不失效,重放爆破即可
客户端校验
形同虚设,前端校验
token
形同虚设,脚本破解即可
反序列化
目前理解很肤浅, 我发觉挖这个都比较难.
本文作者:NoOne
本文地址: https://noonegroup.xyz/posts/ae01120a/
版权声明:转载请注明出处!