首页 > 其他分享 >ctfshow 萌新web系列--1

ctfshow 萌新web系列--1

时间:2022-08-25 23:45:57浏览次数:143  
标签:result web -- 999 ctfshow 萌新 sql id row

打开靶机

 

<html>
<head>
    <title>ctf.show萌新计划web1</title>
    <meta charset="utf-8">
</head>
<body>
<?php
# 包含数据库连接文件
include("config.php");
# 判断get提交的参数id是否存在
if(isset($_GET['id'])){
    $id = $_GET['id'];
    # 判断id的值是否大于999
    if(intval($id) > 999){
        # id 大于 999 直接退出并返回错误
        die("id error");
    }else{
        # id 小于 999 拼接sql语句
        $sql = "select * from article where id = $id order by id limit 1 ";
        echo "执行的sql为:$sql<br>";
        # 执行sql 语句
        $result = $conn->query($sql);
        # 判断有没有查询结果
        if ($result->num_rows > 0) {
            # 如果有结果,获取结果对象的值$row
            while($row = $result->fetch_assoc()) {
                echo "id: " . $row["id"]. " - title: " . $row["title"]. " <br><hr>" . $row["content"]. "<br>";
            }
        }
        # 关闭数据库连接
        $conn->close();
    }
    
}else{
    highlight_file(__FILE__);
}

?>
</body>
<!-- flag in id = 1000 -->
</html>

对网页中显示的代码进行审计

Intval解析整数型时会从左边开始,会绕过第一个if,利用||运算符,当发现id=2中为空,便会到id=1000,即可得到flag

payload:
?id=0b1111101000
?id=0x38e
?id='1000'

 构造payload

 

标签:result,web,--,999,ctfshow,萌新,sql,id,row
From: https://www.cnblogs.com/Abyssun/p/16626194.html

相关文章

  • Mandelbrot Set Visualization
    BitDrawSolution1#include<stdio.h>2#include<stdlib.h>3#include<string.h>4#include<math.h>5#include<complex.h>6#include<stdbool.h>7......
  • js有了var为什么还要有let和const?
    为什么javascript中有那么多声明变量的方式,明明是弱类型的语言,确有三个关键字?最早的是var,这是es6之前的声明方式,既然有了var为什么还要有let和const呢?原因很简单,这是......
  • Python——pymysql(连接mysql数据库)
    基本设置(包括预防SQL注入):SQL注入问题,在写入sql语言时,可能会有利用mysql语句来进行正常输入的规避。importpymysqlconn=pymysql.connect(host='127.0.0.1',user......
  • 痞子衡嵌入式:MCUXpresso IDE下设置代码编译优化等级的几种方法
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是MCUXpressoIDE下设置代码编译优化等级的几种方法。最近公司芯片设计团队正在开发一款全新的基......
  • IPv6地址表示方法
    Ipv6:互联网协议第6版Ipv4:互联网协议第6版Ipv4地址表示方法:点分十进制,长度为32位例如:192.168.26.13Ipv6地址表示方法:点分十六进制,长度位128位Ipv4:8位一组,分为4组例如......
  • windows下的Sonarqube+Sonar-Scanner简单入门配置
    参考:https://blog.csdn.net/weixin_40496191/article/details/120250953https://www.cnblogs.com/longpizi/p/12376500.htmlsonar文档:https://docs.sonarqube.org/lates......
  • 绕过国内域名备案
    情景:现有域名jsw.top,云服务器1台均在阿里云下。域名jsw.top、www.jsw.topCNAME解析到阿里云OSS的记录值(阿里云OSS会要求备案,导致无法使用),而jsw.top,blog.jsw.top,bijian.......
  • 【2022.8.25】前端开发(4)
    学习内容概要JS基本数据类型流程控制函数与面向对象JS的BOM与DOM操作学习内容详细JS数据类型之布尔值1.回顾之前python中布尔值(bool)TrueFalse:0None[]......
  • 礼物的最大价值
    问题:在一个m*n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的......
  • 如何利用configure.ac和Makefile.am生成Makefile
    环境是Ubuntu18.041、aclocal命令根据configure.ac文件的内容,自动生成aclocal.m4文件。 2、autoconf命令会根据configure.ac和aclocal.m4文件,生成configure文件。  ......