自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

转载 [CISCN 2019华北Day2]Web1

1.知道一个表flag,表中有字段flag---》可以直接跳到查数据那一步啊2.输入--+、#、'、"等都不行---》用fuzz测试查看过滤了那些。

2024-04-22 18:51:54 3

原创 ctf.show_web14

information_schema.tables 或 .columns 用反引号 information_schema.过滤了information_schema.tables、information_schema.column、空格。在switch中,case 里如果没有 break,则会继续向下执行 case。从数据库中查看文件内容,mysql提供了。的函数 load_file()

2024-04-21 11:17:02 242

原创 [强网杯 2019]随便注

handler 不是通用的SQL语句,是Mysql特有的。查看数据: HANDLER 表名 READ next;关闭表: HANDLER 表名 READ CLOSE;打开表:HANDLER 表名 OPEN;

2024-04-20 19:54:53 171 2

原创 [LitCTF 2023]这是什么?SQL !注一下 !

2.查询数据时,from后面要填 数据库名.表名。只填flag表名查询不到。如果在当前数据库中没有查到flag,有可能在别的数据库。1.flag不一定要在当前库中,可能在别的数据库。

2024-04-19 12:26:02 66

原创 [SWPUCTF 2021 新生赛]sql

和--+ %23。1.要注意 标签页上的东西。3.substr与mid使用。2.sql关键字过滤。

2024-04-18 20:53:08 117

原创 [SWPUCTF 2021 新生赛]error

如果 flag 只出现一半,用substr(A,B,C)# 31-60位 右边边31位。# 0-30位 左边30位。不能用limit 0,1。

2024-04-17 23:01:43 178

原创 sqlmap使用教程

D 数据库名 -T 表名 --tables。-D 数据库名 -T 表名 --dump。-D 数据库名 --tables。查看目前使用的数据库。

2024-04-17 22:56:08 215 1

原创 [鹤城杯 2021]Middle magic

这里要猜测 $result 是一个字符串,这样 0=="abc",为true。如果代码替换了abc,但后面又要求有abc,可以用。哈希函数无法处理数组,会返回结果 null。: 解码 JSON 字符串。只能匹配一行的数据。

2024-04-17 21:59:09 328 1

原创 ctf.show_web13

在.usr.ini中如果设置了文件名,那么任意一个页面都会将该文件中的内容包含进去。在 .usr.ini 中输入 auto_prepend_file =a.txt,这样在该目录下的所有文件都会包含 a.txt 的内容。auto_prepend_file=a.txt // 意思是所有a.txt文件都以php文件方式打开。上传成功之后,但蚁剑这里连接不上,可能是.txt文件蚁剑无法通过php进行解析吧。要求文件大小少于24字节,文件名少于九个字节,后缀小于三个字节,并且。,文件名不能为php。

2024-04-16 22:02:54 221

原创 【攻防世界】warmup

发现有一个通过python启动app.py的命令。有时候由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,就导致攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。以PHP为例,我们常常把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,而无需再次编写函数,这一过程叫做包含。知道当时的命令是什么,就能获取xxx.py的名字,进而读取源码。随便点进一个,发现文件,可能存在任意文件读取漏洞(路径穿越漏洞),可以实现任意文件的读取。

2024-04-16 11:02:24 360

原创 【攻防世界】mfw

如果里面是一个字符串,则会当作php代码来执行。比如 assert( "file_exists('$file')" )。想办法绕过 assert("strpos('$file', '..') === false")(1)这里要注意不能直接写在url上,浏览器会对它进行编码,把它写在HackBar;assert函数在php中用来判断一个表达式是否成立,返回ture、false。页面发现git ,可能存在git注入。GitHack:下载泄露的.git文件夹下的文件到本地。(2)写 #、// 都可以。

2024-04-15 11:22:50 882

原创 【攻防世界】lottery

随便输入7个数字,抓包,把numbers改为数组:[true,true,true,true,true,true,true](5) 空数组 [ ] (注意,一旦包含元素,就算包含的元素只是一个空数组,也是true)本题已提供源码,如果没提供,输入/robots.txt,发现/.git。(9)所有其它值包括-1都被认为是 TRUE (包括任何资源)(6)不包括任何成员变量的对象(仅 PHP 4.0 适用)(1)尽管代码在多,也要认真看(一般靠直觉 )。(7)特殊类型 NULL(包括尚未赋值的变量)

2024-04-15 11:22:43 446

原创 【攻防世界】ics-07

session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。我们递归的在1.php文件夹中再创建2.php,访问1.php/2.php/..进入的是1.php文件夹。匹配 ".php"、".php3"、".php4"、".php5"、".php7"、".phpt" 或 ".phtml" 结尾的文件名。(1)if ($_SESSION['admin']):判断 session 中的 admin 是否有值。一个点调用最后面的文件,两个点调用第一个文件。

2024-04-15 10:47:16 546 5

原创 【攻防世界】bug

抓包修改后缀为 “php5”,Content-Type 为 “image/jpeg”,并在 post 数据中将 PHP 一句话木马改为用 JavaScript 表示。4. 利用JavaScript执行php代码(正常的php代码会被检测到,所以就用JavaScript来执行)在muma.php里写一句话木马,发现系统能认出这是php文件,说明开启了内容的检测(存在。3. 等价替换(php5,php3)Content-Type 判断。文件内容过滤 PHP 的语法。

2024-04-14 14:57:39 525 3

原创 【攻防世界】ezbypass-cat

突然想到有可能是权限绕过的问题,因为以login开头的登录界面一般是白名单,原理简单来说就是访问白名单目录login.html,然后通过…/回到正常目录下,再访问flag.html。

2024-04-11 18:01:39 183

原创 【攻防世界】Cat

2.在url中输入%79,变成y 了。说明服务器对我们输入的内容会进行 url解码 并显示到url上。url 编码使用的是 16 进制,80 也就是 128,ASCII 码是从 0-127,所以传递。当且仅当文件中存在中文字符的时候,Django 才会报错导致获取文件内容。django编码方式为gbk,超过了ascii码范围就会报错。3.从报错信息中,要知道 Django 框架。1.知道是命令行,可以ping操作,可以。没反应,说明过滤了。4.通过报错,可以获取信息。当作绝对路径请求,来读取文件。

2024-04-11 17:06:25 331

原创 【攻防世界】wife_wife

原型链污染不太准确的理解就是“父类影响子类”,一个子类继承于父类后,父类有什么属性子类就有什么属性。比如这里我们的注册信息data按照json的形式传入,JSON.parse后得到一个对象。比较容易搞混的地方来了,这个__proto__是键名,单纯是个键名,值为{“isAdmin”:true},而不是类的原型对象prototype。baseUser猜测是user类似父类的东西,user应该就是上面的。尝试读取isAdmin属性时会顺着上去找父类的,得到true,进入if语句赋值就没用了。

2024-04-09 21:45:10 342

原创 【攻防世界】Web_python_template_injection

python中新式类(也就是显示继承object对象的类)都有一个属性__class__可以获取到当前实例对应的类,随便选择一个简单的新式类实例,比如 '' ,一个空字符串,就是一个新式类实例,所以 ''.__class__ 就可以获取到实例对应的类.找到我们想要的 `os` 所在的 `site._Printer` 类,它在列表的第七十二位, 即 `__subclasses__()[71]`。前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容,以 file 形式返回。

2024-04-09 16:48:29 805

原创 【攻防世界】Confusion1

request 是 Flask 框架的一个全局对象 , 表示 " 当前请求的对象( flask.request ) "。所以我们可以利用request.args绕过输入黑名单,进行沙箱逃逸。php的标志是大象,Python的标志是蛇。Python 的 Flask 框架( Flask 使用 Jinja2 作为模板引擎 )输入 {{config}} 也有回显,ssti。过滤了关键字,并未过滤request。点进register.php。

2024-04-09 16:45:15 474 1

原创 【攻防世界】题目名称-文件包含

一直显示 do not hack!,可能是 include("./check.php") 过滤了。依次尝试如下payload,还是提示 do not hack。看到 include(),想到文件包含,用php伪协议。convert.iconv. 要一个一个的破解。(1)php://filter 其他编码方式。convert.iconv.[ ]过滤器。,想到文件包含,用php伪协议。找到输出编码,再找输入编码。

2024-04-09 15:16:04 590 2

原创 【攻防世界】FlatScience

想到在查看 robots.txt 的时候有个 admin.php,选 admin 来破解,根据 hint 猜测 fav word 藏在前面看到的 pdf 里面,需要写个脚本,把里面的词都给提取出来,拼接上”Salz!想办法把 pdf 文件都给爬下来。输入 http://61.147.171.105:61912/login.php/name 等同于 if 语句中的 id,sql 等同于 name。在login.php 中发现。

2024-04-06 23:00:41 1057

原创 【攻防世界】shrine

(2)blacklist = ['config', 'self']:黑名单,但flag在config文件里。(1)app.config['FLAG']:把FLAG放到app里。(一般ctf把flag藏在config里);如果config,self不能使用,就用。如果没有黑名单,直接用。

2024-04-05 17:36:32 198

原创 【攻防世界】easytornado

可以把它理解为 tornado 模板中内置的环境配置信息名称,通过handler.settings 可以访问到环境配置的一些信息。看到 tornado 模板基本上就用 handler.settings。{{ }}有回显,一般存在模版注入。得到cookie_secret。模版注入 + tornado模板。

2024-04-05 15:16:42 216

原创 【攻防世界】ics-05

提示:要确保 replacement 构成一个合法的 PHP 代码字符串,否则 PHP 会在报告在包含 preg_replace() 的行中出现语法解析错误。使用 /e 修饰符,preg_replace 会将 replacement 参数当作 PHP 代码执行。php://filter 伪协议查看源码 + preg_replace 函数漏洞。1.获取网页源代码。多点点界面,发现点云平台设备维护中心时,页面发生变化。page=index 输入什么显示什么,有回显。用php://filter读取网页源代码。

2024-04-05 11:49:47 617

原创 git源码泄露

(1)看看有没有提示使用了 Git,如果有就考虑存在。如果没有也可以使用 dirsearch 工具扫描后台,如果存在则会扫描出 .git 目录如图所示。但如果配置不当,可能会将 .git 文件夹直接部署到线上环境,这就引起了 git 泄露漏洞,我们。GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。(3)访问 .git/head 文件,如果能下载也能推断存在 Git 源码泄露。(2)直接通过网页访问 .git 目录,如果能访问就说明存在。//相对于过滤了 ..

2024-04-02 22:21:29 608

原创 OSPF协议

路由器之间先会建立协议的邻居关系,然后彼此之间开始交互LSA(Link State Advertisement,链路状态通告),相当于每一个路由器自我介绍(告诉别人我是谁以及相关信息)。每台路由器都会产生LSA,路由器将接受到的LSA放入自己LSDB(Link State DataBase,链路状态数据库),通过LSDB,路由器掌握了全网的拓扑。OSPF与IS-IS(链路状态路由协议)每台路由器基于LSDB,使用SPF(Shortest Path First,最短路径优先)算法进行计算,来选择最优路径。

2024-04-02 17:28:08 434

原创 CTF-SSH服务渗透

在对SSH服务渗透中,大部分情况是利用获取的私钥文件(,直接使用用户名和私钥文件登录靶场机器,个别情况进行暴力破解获取用户密码,通过用户名和对应用户登录靶场机器。CTF中 要特别注意 /tmp 数据缓冲目录 以及 /etc/crontab 设置定时执行的文件。

2024-04-02 17:26:43 830

原创 SSTI 服务器端模板注入(Server-Side Template Injection)

python中新式类(也就是显示继承object对象的类)都有一个属性__class__可以获取到当前实例对应的类,随便选择一个简单的新式类实例,比如 '' ,一个空字符串,就是一个新式类实例,所以 ''.__class__ 就可以获取到实例对应的类.找到我们想要的 `os` 所在的 `site._Printer` 类,它在列表的第七十二位, 即 `__subclasses__()[71]`。前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容,以 file 形式返回。

2024-03-31 22:30:46 626

原创 sql注入相关题目

2.输入 -1 union select databases--+ 没反应,可能存在过滤。information_schema.tables 或 .columns 用反引号。4.从数据库中查看文件内容,mysql提供了读取本地文件的函数load_file()在Switch中,case 里如果没有 break,则会继续向下执行 case。handler `表名` open as `a`;show columns from `表名`;(3)只要用户名密码正确,即可得到flag。联合注入与叠加注入区别。

2024-03-31 11:00:19 360

原创 ctf.show_web

是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。后端代码就是拿这个session的value值与我们输入的密码进行匹配, 由于这个value值我没解密出来, 所以这里干脆一点, 直接删除让变成空, 密码什么也不输, 也会是空, 空=空, 从而登录成功。2.然后上传a.txt,这样的话,每次调用 php 文件,都会自动包含 a.txt 文件,题目中要求文件的内容不能太长,会引起报错。可以使用命令,就可以用glob,比如,glob("*") 匹配任意文件。

2024-03-31 11:00:12 602

原创 Java--连续因子

1.1不算一个数的因子。

2024-03-30 13:59:10 72

原创 ctf.show_web11

Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。密码为空,用 bp 抓包,去掉 session。

2024-03-29 16:12:30 379

原创 ctf.show_web10

因为加入with rollup后 password有一行为NULL,我们只要输入空密码使得(NULL==NULL)即可满足$password==$row['password']的限制成功登陆。(group by 后可以跟with rollup,表示在进行分组统计的基础上再次进行汇总统计)} // 把 $username 与 $password 过滤。} // 把 $regex 替换成空。} // 判断数据库是否连接成功。group by 和 with rollup;统计group by一个有多少个。

2024-03-29 15:20:20 894

原创 【ctf.show】--- md5

echo "登陆成功<br>";python dirsearch.py -u 网址 -e php。2.访问 robots.txt 文件。发现 robots.txt。发现 index.phps。3.访问 index.phps。16 字符长度的原始二进制。

2024-03-29 14:01:49 589

原创 数据库---PDO

port=3306;// 这里的空格比较敏感。$stmt->bindValue(':keywords','书');$stmt->bindValue(':title','漫画');// 返回受影响的行数。

2024-03-28 18:03:24 512

原创 蓝桥杯java---螺旋矩阵

【代码】蓝桥杯java---螺旋矩阵。

2024-03-25 22:27:02 289

原创 Linux操作系统

1.Linux用户通常分为两类:管理员用户(root普通用户(类似Windows上的普通用户)。Linux登录系统后,默认当前所在目录为用户主目录,类似Windows登录系统后,默认的所在目录为桌面。管理员(root)登录系统后默认目录为/root;普通用户登录系统后默认目录为username为用户名。例如:用普通用户jack登录系统后,那么当前所在目录为。/home/jack。:显示当前所在目录。例如:用普通用户jack登录系统后,那么当前所在目录为/home/jack。

2024-03-12 09:51:36 878

原创 蓝桥杯---奇怪的数列

/str.substring(i,i+1)==获取字符串的第一个字符,并且可以循环依次往下获取。比如第2行,是对第1行的描述,意思是:1个1,1个3,所以是:1113。(1) 如何获取字符串的第一个字符,并且可以循环依次往下获取。请你编写一个程序,可以从初始数字开始,连续进行这样的变换。第二行,一个数字n,表示需要你连续变换多少次,n不超过20。第二种:直接取出字符串,拿出第一个字符,依次比较。第3行,意思是:3个1,1个3,所以是:3113。注:(1)一个空字符串可以直接写进东西;

2024-02-14 10:25:34 960

原创 蓝桥杯---三国游戏

游戏有 n 个可能会发生的事件,每个事件之 间相互独立且最多只会发生一次,当第 i 个事件发生时会分别让 X, Y, Z 增加 Ai , Bi ,Ci。当游戏结束时 (所有事件的发生与否已经确定),如果 X, Y, Z 的其中一个大 于另外两个之和,我们认为其获胜。第二行包含 n 个整数表示 Ai,相邻整数之间使用一个空格分隔。第三行包含 n 个整数表示 Bi,相邻整数之间使用一个空格分隔。第四行包含 n 个整数表示 Ci,相邻整数之间使用一个空格分隔。输入的第一行包含一个整数 n。

2024-01-28 20:54:26 987

原创 蓝桥杯---分糖果

最近暑期算法特训班的同学表现出色,她们的老师决定奖励她们,老师购买了n种不同种类的糖果,用小写的阿拉伯字母表示,每个糖果必须分给一个同学,并且每个同学至少要分到一个糖果,同学们的开心程度定义为 她们所分到的糖果组成的字符串s[i]的字典序,;老师希望同学们的开心程度尽量小,因此她要找到一种方案,使得所有糖果组成的 字符串中字典序最大的字符串尽量小,请输出字典序最小可能的Max[s[1],s[2].......s[x]]。第一行输入两个整数n和x,表示有n个糖果和x个同学。

2024-01-27 20:23:45 473

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除