- 博客(20)
- 收藏
- 关注
原创 Centos7 yum install “Could not resolve host: mirrorlist.centos.org“ 错误解决
wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo #换aliyun epel源。yum clean all # 清除系统所有的yum缓存。yum makecache # 生成yum缓存。代理(vpn)可能需要关闭 有影响。
2024-09-03 20:37:12
394
原创 Include
伪协议读取到flag.php,因为让他base64加密了,所以浏览器无法执行这个php文件里面的php代码,就会直接以纯文本的形式将文件里的源码显示在网页出来。中经常使用的是php://filter和php://input,php://filter用于读取源码,php://input用于执行php代码。但是,如果浏览器无法执行该PHP文件,那么PHP代码将不会被执行,而是会以纯文本的形式显示出来。浏览器无法执行该PHP文件,就会将文件中的内容直接显示出来,以文本的形式返回到页面中。进来,就一个tips。
2024-04-13 15:20:14
517
1
原创 Havefun
这里有个if判断,如果传入的值是dog,会有一个输出,可能就是flag。F12查看页面元素,看到如下。这应该是部分php后端的代码。看到我们能从外部传入cat值。
2024-04-12 10:48:16
216
2
原创 Easy SQL
输入用户名:1 密码:1″时,没有发生SQL语句报错,即没有产生报错信息,只是提示我们输入的值是不对的(提示”Input your username and password”),说明这里注入双引号并没有使sql语句报错,因此我们可以先假设SQL语句闭合方式是单引号。如果闭合后形成的sql语句是错误的,那么sql语句执行就会错误,从而造成页面显示错误。结合实际尝试,我们输入1″ 1的时候没有报错,输入1′ 1的时候返回了报错信息,逆着推说明假设是成立的,可以推出SQL语句闭合方式是单引号。
2024-04-12 10:45:08
794
1
原创 [GWCTF 2019]我有一个数据库
在 4.8.2 之前的 phpMyAdmin 4.8.x 中发现了一个问题,其中攻击者可以在服务器上包含文件。但是题目提示数据库, 肯定有什么藏起来的东西,F12查看网络请求,看到有捕捉到一个网络请求,注意右下角的phpmyadmin版本是4.8.1,这个版本的phpmyadmin存在一个漏洞。扫出来的结果还是很多429,但是貌似不影响我们扫到应该扫到的关键文件,那就先不管了。访问这个目录,直接就进入了phpmyadmin数据库,并且不需要登陆,尝试用sql语句写shell,点击执行,但是没用,
2023-11-29 14:23:44
239
原创 [NCTF2019]Fake XML cookbook
比如这里我们构造实体的时候就没有规定standalone的值,让他默认就是no,就不会禁用外部实体,否则我们构造的实体不能使用。XML=>像html,但是html的目的是显示数据,而xml的目的是传输数据,他没有预定义,他是纯文本,他是不会做任何事情的。我们可以在这个XML的实体的外部构造一个恶意实体,里面放恶意代码,让他在解析XML输入时加载我们构造的恶意代码。使用file://协议读取flag文件,并且将这个文件赋给admin(构造的实体的名称),ENTITY 实体名称 (关键字) "实体内容">,
2023-11-26 19:15:46
693
原创 [BJDCTF2020]ZJCTF,不过如此
然后file不给直接读flag,这里过滤文件名中的flag,不让我们这么快就读到flag。那我们就构造payload读取next.php文件的源码,进一步的信息应该就在这个文件里。text参数得有内容,并且得是文件,文件内容得是I have a dream。data://协议可以写入文件,并且规定文件内容 逗号后写文件内容就行。如果通过了就输出I have a dream内容在页面中。base64解码得到next.php的源码。://filter伪造协议读取源码。提示我们读取next.php文件。
2023-11-25 11:16:22
215
原创 [BSidesCF 2020]Had a bad day
不行,提示我Sorry, we currently only support woofers and meowers. 应该是这里有过滤的规则,要求category必须等于woofers或者meowers。注意index.php.php,意思是他自动会加上.php,所以我们的.php后缀多余了,去除后缀。注入报错了,但是又看到了include(),这是文件包含的特征函数, 转而猜测是文件包含。我们想要文件包含flag.php,传入flag就可以了,伪造协议传入绕过规则的参数的同时读取flag.php。
2023-11-25 10:35:30
444
原创 [网鼎杯 2020 朱雀组]phpweb
接收func和p,执行PHP内的date函数和格式化的Y-m-d h:i:s a,然后输出结果。这个表单让index.php用post方式提交两个参数,func和p,func的值为date,p值Y-m-d h:i:s a。bp抓单也发现是这样提交的,func=data,p=Y-m-d h:i:s a 作为两个参数提交。没有太好的字典,但是可以知道响应长度562是黑名单里的函数,system和exec都在。怀疑这里是这样调用的,func(p),即data(Y-m-d h:i:s a)
2023-11-25 09:35:24
644
原创 Upload-Labs-Linux文件上传20关
文件上传时,用户选择文件或者提交时,有些网站会在前端对文件名进行验证,一般检测后缀名是否为允许上传的格式,如果上传的格式不对,则弹窗出提示文字。有些上传模块,会对 http 的类型头进行检测,如果是图片类型,允许上传文件到服务器,否则返回上传失败。因为如果是拿到服务器去验证,至少得有一个向服务器发送请求的操作,不然文件到不了服务器那里,网络会捕捉这个发送到服务器的操作,但现在网络没有请求。F12,查看网络请求,然后上传9.php,如果有捕捉到网络请求,就是服务器验证,没有捕捉到网络请求,就是前端验证。
2023-11-25 08:21:07
597
原创 [BJDCTF2020]The mystery of ip
bp打开,尝试修改X-Forwarded-For(没有就添加)的值为1.1.1.1,然后Send,看看ip会改变吗。服务端获取客户端ip的一个方式就是从Request包的X-Forwarded-For属性值中获取。{system('cat /flag')} 读取flag文件内容。{system('ls /')}查看当前目录,发现有flag。如果存在,会执行我们的1+1,输出计算结果2。有三个选项BJDCTF,Flag和Hint。BJDCTF是首页,查看源代码,没东西。进来直接告诉我们,我们的IP是多少。
2023-11-21 23:54:52
78
原创 [网鼎杯 2018]Fakebook 1
和单引号双引号注入一样,得先让对方报错,然后再在后面执行语句,区别是引号注入的报错方法是添加多余的引号让对方闭合不完全从而报错,然后再用#注释掉多余的引号从而闭合完全,实现语句完整,数字注入的报错方法是输入不正确的数字,不需要#注释掉多余的引号,因为原本的语句引号闭合是没有问题的。因为用了group_concat,所以这些数据都是合并在一起的,1明显是no字段的数据,admin是username字段的,因为我们刚刚注册的就是admin,passwd和data中的数据不好区分,return $output;
2023-11-21 23:37:43
31
原创 [GYCTF2020]Blacklist
题目:进去默认就有个1在那里,点击提交查询试试看出来一列一列的数据,推测是sql注入判断是什么注入直接1' 提交确定是sql注入,并且是单引号注入联合注入,查询数据库的字段数返回这是告诉我们过滤了这些关键字,应该是黑名单这个东西 也就是blacklist观察发现;没有被过滤,可以尝试使用堆叠注入堆叠注入:爆数据库爆表不知道爆上面哪个数据库的表,因为都没有flag的迹象可以先爆当前默认的数据库的,直接show tables;就可以,爆当前的库的表。
2023-11-20 15:52:35
26
原创 [GXYCTF2019]BabySQli
发现当1' union select 1,2,3#改为admin' union select 1,2,3#时,这个wrong user就不会出现了,而是出现wrong pass了,也就是后端有可能会判断我们传入的sql语句,判断里面有没有admin,admin可能是正确的用户名,他只需要我们语句里面有admin就行了,因为在网址栏中#只是单纯的字符,带入数据库中才是注释作用,但是name带入数据库,pw不带入,所以name中的#不会注释pw。猜测应该是指pw的值错误,尝试数组绕过pw的值。
2023-11-20 15:00:46
24
原创 [GXYCTF2019]BabyUpload
提示信息变为"这标志明显还是php啊",说明刚刚确实是Content-Type的问题,但是现在还有问题,就是应该检测了文件里面的内容,这标志是php中的标志指的应该是php代码的特有标志
2023-11-19 20:46:54
23
原创 [SUCTF 2019]CheckIn
然后我们看到php.ini中的配置项,可惜的是,只要是稍微敏感的配置项(换句话说,稍微用处大点的),都是PHP_INI_SYSTEM模式的.甚至是php.ini only的(也就是我们用户不能自定义的模式),包括disable_functions、extension_dir、enable_dl等 不过,我们还是可以很容易地借助.user.ini文件来构造一个"后门"但是实际上,除了模式PHP_INI_SYSTEM,(包括模式PHP_INI_ALL)都可以通过.user.ini来让用户自定义设置的。
2023-11-19 19:00:20
27
原创 [网鼎杯 2020 青龙组]AreUSerialz
我们只要令op=2,这里的2是整型int,不是字符串型"2",还是有区别的,当op=2时,op==="2"就为false,op=="2"就为true,因为弱类型判断中2和"2"是相等的,强类型判断中就不是。如果op==="2",将其变为op="1",同时属性content的值赋为空,然后进入process函数,需要注意这op与"2"比较的时候是强类型比较"==="当 $op 为 "1" 时(注意这里的弱类型比较"=="),调用 write() 方法(在下面自定义的)进行写操作;
2023-11-18 16:00:58
36
1
原创 [MRCTF2020]Ez_bypass
观察源码我们可以知道,首先需要满足传入的id和gg值不相等,但是他们的md5加密后的值一定得相等,并且是===强比较相等,可以用到科学技术法知识,0e代表0的次方,我们知道0的多少次方最后都是0,所以我们要找两个md5加密后都是0e开头的字符串,那我们可以用数字加字母的形式绕过 ,比如1234567a 这不是数字类型,但是弱比较后只取1234567。要求传入POST ,传入的passwd值不能被判断为数字类型,且弱比较后需等于1234567。hackbar GET和POST一起传,拿到flag。
2023-11-18 11:54:50
37
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人