- 博客(27)
- 收藏
- 关注
原创 ctfshow SSRF 351-358
没办法,只能考虑其他办法了,这时有一个DNS解析的方法来了,众所周知,由于ip地址太过难记,所以人们搞出了域名,以十分好记的名称一对一的储存在DNS解析器中,例如人们知道百度的域名baidu.com,但是不记得他的网站ip地址,这个代码,就是我们能访问的服务器的源代码,它没有任何绕过,没有任何过滤,我们需要的flag存在于flag.php文件中,但是这个文件是我们可以访问的服务器通过中转的方式,才能获取的,也就是说只有这个服务器可以访问,如果我们直接访问就会出现。是标志,用于指示不接受私有地址和保留地址。
2024-05-09 19:11:25
2020
原创 ctfshow web入门 nodejs334-338
这题入门题,下载附件以.zip的格式打开,拿到源代码,进行代码审计,发现,按照他的逻辑.输入正确的用户名及密码即可登录,这里需要注意的是,对于这个代码的逻辑,是你输入的用户名是不能等于CTFSHOW的,所以我们输入他的小写即可,因为它后面有toUppercase()函数,会将我们输入的大写,所以不用管.js大小写特性参考。
2024-04-27 17:13:54
725
1
原创 ctfshow--xxe 373--378
首先我们需要先了解xxe漏洞存在在哪儿这里有一位师傅的对于XXE的理解这里使用了libxml_disable_entity_loader()这个函数是用来看是否使用外部实体解析,如果里面的参数是false则是开启外部实体解析,后面的 $xmlfile是通过输入流中直接获取,所以这里我们抓包写入程序即可,然后看后面的代码,DOMDocument类,这是php中一个关于xml的一个类,这个类通常是用于创建一个新的xml文档,
2024-03-30 17:26:44
891
原创 ctf-show,web入门,反序列化254~267
而%user变量后接了一个反序列化的函数,我们只需要写一个脚本,将创建类的将本序列化,传给cookie,同时注意到,源程序种没有将isVip更改的函数,所以序列化时这里也要注意,最后将其转码为url编码即可使用。
2024-03-23 14:02:45
1036
原创 ctf-show SSTI入门1-8题
然后输入之前题的payload,发现不可以用了,这时候我们应该查找一下是过滤了什么,一般来说有单双引号过滤,关键字过滤,以及 " ."过滤。实际上,这就是已经访问对方成功了,接下来,我们寻找可以使用的类方法 ,我这边也是沿用别人的脚本。首先,先试出它的可传参的变量,一般是打开可以看见一个欢迎界面,可以猜测参数是name啥的。我每一部分都去验证了一下,发现多出了args的验证,但是没有requests的验证。可以看见上面的例子,我们还可以requests.cookie啥的,
2024-03-15 20:02:52
979
原创 DVWA靶场通关(2023)
1.这道题是爆破用户名,以及密码,其实就是通过burp软件来爆破抓包成功!接下来爆破修改这两个值,进行爆破,正确导入字典后,开始爆破.因为已经知道了答案,我们可以让爆破的数量少一点,找到数量不一致的,得到结果2.第二种,主要区别在于我们必须休眠两秒,才能继续.所以让它休眠2000ms就欧克了为了方便,我就将正确答案置于了顶端,可以发现,我们的爆破可以保证全为200的状态码3.第三题,通过查询得到,主要增加了token值,这个东西。
2024-02-23 03:56:31
2085
原创 NSSCTFphp反序列化3题
得到内容:O:4:"wllm":2:{s:5:"admin";我们需要把高亮的源代码变为flag所在文件夹,所以直接让代码中的x=fllllllag.php,同时绕过__wakeup(),既有。这个函数可以将它下面包含的方法,在创建一个新的类的时候,自动执行.所以,我们需要将我们需要的代码转化为创建的一个新的类的序列化,可以看见,阻止了所有搜索引擎弹到/c145s.php,于是我们可以直接访问这个文件,不受robots.txt文件的限制;序列化后得到:O:1:"X":1:{s:1:"x";
2024-02-16 15:25:12
463
1
原创 web89-103
这里的代码,表示我们会创建一个空数组,并让$i从36到877循环,最后比对我们输入的n与数组中随机出来的数字,我们可以知道,我们输入一个字符串,只要开头是数字,会被自动转化为开头的数字,不会管后面的字符,除非是"===",所以我们可以传入一个空文件,我们可以去从"1.php"开始实验,但是大概率可以随机到,然后,我们就可以通过post传参令content=
2024-02-03 17:35:52
801
1
原创 [SWPUCTF 2021 新生赛]easy_sql
wllm=-1' union select 1,group_concat(flag),3 from test_tb--+,获取flag。该题与sql-labs中的第一题是一致的,首先判断其闭合类型,可以简单判断得知,为 '型的字符型,再使用 group_concat(column_name) from。使用group_concat(table_name) from。接下来判断数据库类型,使用database(),数据库类型为test_db。
2024-01-27 22:53:03
369
原创 sql-labs1-5题
id=1' and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database() and table_name='users' limit 2,1),0x7e),1)--+改变limit可变的地方获得列名,有id,username,password。现在,我们就可以搞一些具体的操作了,比如判断使用的什么数据库,所有表的名称,最终输出整个表。
2024-01-26 23:01:43
1776
1
原创 buuctf pwn1~3题
搜索资料,得知需要用kali系统,运用nc命令输出(ip地址加端口号,注意中间没冒号),ls命令,发现flag,于是cat flag得到。这会使在Linux中打开一个新的shell进程(相当于Windows系统命令行)所以我们现在就是输入一串字符串使栈溢出后同时,传入我们需要fun函数的地址。让我们把文件放入ida中,找到main函数,f5观看反汇编伪代码,你会发现。接下来是找main函数被分配了多少个字节,以及RBP的8字节,除去定义s的,代码为其分配了15个字节的空间。把他放到有pwn工具的虚拟机上。
2023-12-23 14:16:45
438
1
原创 函数调用栈的原理以及栈帧概念和保护机制,栈溢出原理
1.首先,函数调用栈,相当于一摞盘子,为其新添一个盘子,栈指针会跳转到栈顶,向下运行程序,盘子就是调用的函数所生成的栈帧,调用一个函数后,栈中会自动为其分配空间,也就是盘子的大小.这涉及到在栈的边界处设置特殊的标记,当栈帧增长到一定程度时,检测到这个标记,系统就会触发异常,防止继续向上溢出。在栈溢出攻击中,攻击者通常会利用溢出的缓冲区来覆盖保存在栈上的返回地址。2.栈帧,包含了函数的参数,返回值,地址等信息,运行完一个函数后,栈会弹出该栈帧,也就是函数生命周期结束,返回上一个函数继续运行.
2023-12-21 20:52:24
505
原创 虚拟机装载centos系统
一.首先下载centos文件,官网下载。把这两个密码设置好,就会自动开始安装.三.开启虚拟机,开始安装配置。点击完成后,一切按推荐进行.接下来,同意条例就大功告成了!
2023-12-05 21:52:11
48
原创 ctfshow CRYPTO 1-5
可以简单判断为,jsfuck编码,我们只需要将其转换回JavaScript编码就可以看懂了.因为编码后的JSFuck代码在运行时会被解码为原始的JavaScript代码,并产生相同的结果。这意味着,无论是原始代码还是经过JSFuck编码的代码,它们在执行时将产生相同的输出、产生相同的副作用或实现相同的功能,由于浏览器控制台,可以直接运行JavaScript代码,所以,在浏览器控制台复制粘贴加回车就输出了flag。题中出现p,q,e,d等关键字母,且p,q为素数,可以合理怀疑这是RSA加密算法。
2023-11-25 00:09:53
122
原创 python调用库base64,实现解码编码
首先,我们知道base64,是一种编码方式,用于将二进制数据转换成可打印的 ASCII 字符串。python中就有专门用来干这事的库。接下来是将一个字符串以base64解码,其实就是在上面的基础上改变函数b64encode为b64decode。现在我们需要知道这个库实现编码及解码的过程,通过b64encode的函数编码,我们需要,在里面放入。所以我们先调用库base64。
2023-11-21 20:38:58
82
原创 upload 1--10题解题步骤
数据类型的黑名单验证突破又主要是例如:大小写绕过, .号绕过, 空格绕过, ::$DATA绕过, 双写绕过等。这里content-type判定的不符合我们的要求,那我们就将其改一下,因为他希望我们上传图片。但是我们可以操作后缀更改,上图中就没有对空格的去除所以我会在burp中加上一个空格。二.我们经历了前端验证,现在就要开始后端验证了,而后端验证很多都可以改文件名跳过,我们发现全都检查了,我们还可以 . . 的方法,因为他们只检查一次。首先,我们选择一个.php的文件上传。所以,我改一下上传,
2023-11-18 09:37:29
328
1
原创 backup(攻防世界)
他问我知不知道index.php的备份文件名,老实说我真不知道,但是作为一个优秀的菜鸡,首先应该学会的就是使用搜索引擎。3.从上面以及题目backup可以得知,我们需要改一下后缀名.bak。flag就出来了,解题成功!果然不出所料,弹出了下载框。那么我们就访问一下吧!
2023-11-08 21:55:34
57
1
原创 baby_web(攻防世界)
2.我想到的办法则是通过burp拦截抓包,看看之前是啥东西。出现了FLAG:flag{very_baby_web}我们点开源代码,啥也没有,题目告诉我们要找初始页面,我们将初始的网址复制重新打开,打开burp抓包。但是网页自动跳转了,我们必须想办法让他停下来。1.首先我们打开链接。3.查看现在的源代码。
2023-11-08 21:34:50
177
1
原创 simple_php(攻防世界)
4.其次,对于$b有一个判定的函数is_numeric(),即如果$b为纯数字就会退出程序,同时满足$b>1234,所以我们可以来一个字符串$b=4567abc(在> <符号比较时,数字与字符串比较,会先将字符串转化为数字在比较)这时候这需要引入新的知识:(1)$a输入布尔值true,非空数组,非空字符串,非零数字则可使$a判断为真;(2)当逻辑运算符“==”进行判断时,左边的若为字符串(第一个字符不为数字)=空值,且不能为数字,同时满足==左边转化后为0。我们需要输入a,b的值。
2023-11-08 21:19:12
582
1
原创 PHP2的解题过程(攻防世界)
所以不能直接输入admin,但是下面的代码告诉我们,将获得的id进行url码转换后作为新的变量值,而且只需要变量值为admin就可以了。所以我们应该输出‘a’,‘d’,‘m’,‘i’,‘n’的ascll码的16进制‘61’,‘64’,‘6d’,‘69’,‘6e’3.这时候我们应该知道url码是如何定义的,例如字母的url码就是每一个字母的ascll码,以%+16进制的形式定义。出现这一段文本文字,打开源代码发现还是什么都没有,这时候我们可以结合题意,与PHP有关。7.运行,结果出来了,解题成功!
2023-11-08 18:49:47
137
1
原创 weak_auth解题步骤
6.有趣的是这个没有请求时间要求,可以把线程调为999(最大值)来进行爆破。设定密码位置(用户名位置由输入一次后可知为admin)3.将包发送到intruder。
2023-11-07 19:33:03
74
原创 burp抓包过程
在repeater中点击send ,在response中点击render。3.如果要抓https协议的包,势必需要配置一个CA证书。证书中出现这个就说明导入成功。5.将其发送到repeater。2.打开火狐浏览器,打开拓展。选择本地的IP与8080端口。1.首先打开软件burp。则表示你已经抓到包了。
2023-11-03 17:16:33
272
原创 VMware17以及虚拟机安装过程
10.选择左侧新CD,右侧点击使用iOS映像文件,点击浏览找到刚刚的iOS文件打开,关闭后完成。出现需要许可证的地方,可以去网上搜索许可证(推荐GitHub,因为我是在那儿找的)打开VMware17(注意使用管理员模式打开),点击左上角文件,选择新建虚拟机。4.接下来输入用户名与密码,建议都是用kali,后面登录简单好用。5. 接着选择linux,版本选择Debian,下一步。现在可以导入刚刚下载的ios文件,点击自定义硬件。2.打开后将语言调为中文,接下来默认配置,开始安装。进入页面后,向下滑动下载。
2023-10-31 21:52:55
1134
1
原创 关于phpstudy如何开始简单的创建网站以及输出简单的“Hello,world!”
四.更改代码,使网站出现Hello,world!:回到刚刚创立的.php后缀的文件,将其用vscode打开,可以采取先创建一个空白文档的方式,创建一个.txt的文件,重命名将其后缀改为.php即可。3.创建好以后,就可以打开浏览器输入127.0.0.1/域名或localhost/域名。将php文件保存,关闭vscode,重新登入网站127.0.0.1/域名出现。一.首先你需要下载phpstudy面板,我将其存与C盘中;2.打开根目录创建一个后缀为.php。出现空白界面就即证明创建成功!
2023-10-26 19:44:07
369
原创 get 与post 传参的简单认识与区别
所以对于get:其实是直接输入查询部分的参数,用于查询的一种请求,参数放在?后面,服务器会将参数的数据返回,该请求是一种幂等的,即是说无论你请求多少次,服务器返回的始终是同一数据,同时该请求有简洁的地方:例如如果想要返回不同参数的数据,只需要在url中更改?URL:是数据的统一资源定位符,可以简单认为其是你想要对服务器中的数据时,将你的操作定位在确定位置的一种方法,由协议、主机名、端口号、路径和查询参数等构成。- 路径部分是 /path/to/resource,表示要访问的资源在服务器上的路径。
2023-10-26 19:41:56
115
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人