[NSSRound#1 Basic]basic_check
开题什么都没有,常规信息搜集也无效
发现题目允许PUT的两种做法:
1、
CURL的OPTIONS请求方法查看允许的请求方式
curl -v -X OPTIONS http://node4.anna.nssctf.cn:28545/index.php
2、
kali自带的nikto工具扫描网址
Nikto 是 Kali 中的命令行工具,用于评估 Web 应用的已知安全问题,可以帮助我们对Web的安全进行审计,及时发现网站存在的安全漏洞,对网站的安全做进一步的扫描评估。nikto -h http://node4.anna.nssctf.cn:28545/
nikto -update 更新版本信息
apt -get install nikto 下载完成更新版本信息nikto -h 查看帮助和部分常用参数,如果要查看更详细的帮助信息,可以输入 man niktonikto -v 来查看工具版本和插件版本nikto -h (url)/nikto -host www.baidu.com 扫秒目标主机,默认扫描端口是80nikto -h www.baidu.com -port 80/443.... 指定扫描端口:在后面加上-port “端口号”nikto -h www.baidu.com -ssl -port 443 同样的还可以指定SSL协议,进行https扫描nikto -h url.txt 扫描多个网址,可以先把多个网址放在一个txt文件里,例如放在url.txt里nikto -h www.baidu.com -c /a 扫描网站下的子目录可以使用参数-c进行目录爆破,扫描
如何从PUT到getshell?
参考:
HTTP 请求方法 GET/POST/PUT/DELETE_http put请求-CSDN博客
HTTP的幂等性及POST、GET、PUT、DELETE的区别及请求方式HTTP的幂等性及POST、GET、PUT、DELETE的区别及请求方式_http delete请求-CSDN博客
PUT请求请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容。浏览器在发PUT请求前会先发OPTIONS请求进行预检,看服务端是否可以接受PUT请求,若可以就在响应头添加字段告诉浏览器可以继续发送PUT请求,说简单点就是PUT请求就是浏览器向服务端会发送两次请求,它跟POST类似,但两者实际上并不相同,在PUT请求中,如果请求的文件不存在,那么就会要求服务端根据请求创建资源文件,如果文件存在,那么就会覆盖原本的文件内容从而达到更新修改的目的。
- GET 向指定的URL请求资源,可携带参数(明文)。
- POST 向指定的URL提交资源,表单数据提交,数据进行封装(比Get方法安全)。
- PUT 与POST类似,通常用于对资源数据的更新修改。
- DELETE 删除指定的资源。
我们可理解为以下:
1、GET /url/xxx 查看
2、POST /url 创建
3、PUT /url/xxx 更新
4、DELETE /url/xxx 删除
那我们冲了。burpPOST抓包,直接PUT个🐎到Jay17.php
getshell