nssctf——web

[SWPUCTF 2021 新生赛]gift_F12

1.打开环境后,这里说要900多天会有flag,这是不可能的

2.f12查看源码,然后在html中查找flag (在最上方的栏目中,或者按ctrl+f)

[SWPUCTF 2021 新生赛]jicao

1.打开环境是一段php代码

2.上面的代码说包含了一个flag.php文件,设定了一个POST请求id和GET请求json,语句会对GET请求的数据进行json解码(post不会),如果id和json变量的值都等于设定字符串,输出flag

json字符串,形如:json={"aa":"bb"},其中aa是键,bb是值,那题目的意思就是json={"x":"wllm"}

[SWPUCTF 2021 新生赛]easy_md5 

1.打开环境,一段php代码,解题之道就在其中

2.意思是包含有一个flag.php的文件,然后 get传参name,post传参password,当name和password的值不等,但是他们的md5值相等时,就会输出flag,否则输出wrong

要找两个相同的md5,但值不同的数据很费时间,我们可以绕过,有两个方法

(1)md5绕过(数组绕过),md5不能加密数组,在加密数组的时候会返回NULL,如果设置没有判断变量类型或内容,就行得通

 

(2)0e绕过(科学记数法)以0e+数字类型的md5值在php进行科学计数法时会将其转化成0,也就是两个数的md5加密后的值以0e开头就可以绕过。

 eg:

240610708:0e462097431906509019562988736854
QLTHNDT:0e405967825401955372549139051580
QNKCDZO:0e830400451993494058024219903391
PJNPDWY:0e291529052894702774557631701704
NWWKITQ:0e763082070976038347657360817689
NOOPCJF:0e818888003657176127862245791911
MMHUWUV:0e701732711630150438129209816536
MAUXXQC:0e478478466848439040434801845361

 

 [SWPUCTF 2021 新生赛]include

1.打开环境说叫我们传一个file试试,那就试试,说flag在flag.php中。

2.这样的话就是php伪协议了,写个payload,filter可以读取flag.php中的信息

url ?file=php://filter/read=convert.base64-encode/resource=flag.php

3.得到一串编码,拿去解码,得到flag

 [SWPUCTF 2021 新生赛]PseudoProtocols

1. 看到有提示说叫我们找到hint.php,同时在url处有一个参数。

2.利用php伪协议中的filter获取 hint.php文件的内容,得到一个base64编码

3.解码,有两个结果。有一个好像是地址,访问一下

4.得到一个新的页面,有php代码,上面说最大执行时间180s,包含有一个flag.php文件,使用get传参,当参数a的值等于I want  flag  时输出success和flag

5.再次使用伪协议,这里有两种方法

(1)php://input协议,url:   ?a=php://input, post传参: I  want  flag

注意:此方法需要条件,即开启allow_url_include=On

(2)data    url:    ?a=data://text/plain,i want flag

 [SWPUCTF 2022 新生赛]ez_ez_php

1.有段php代码,禁用了php的错误报告,get传参包括file,并检查文件头是不是php,file 参数的前三个字符是 "php",代码将包含该参数指定的文件,还有一个注释说存在flag.php的文件

2.使用php伪协议,构造payload,得到一个base64编码http://node5.anna.nssctf.cn:25603/?file=php://filter/read=convert.base64-encode/resource=flag.php

3.解码得,上面说flag不在这里,试试伪协议,真正的flag在flag里。

4.修改upload,又得到一个编码

5.解码得到flag

[鹏城杯 2022]简单包含

1.打开环境,上面说通过post请求flag,注释还说了flag的具体路径。

2.先用php伪协议看看,上面提示说有waf

 3.访问index.php页面,返回一串base64

4.解码得到新的

5.得到的新内容说: POST 请求体小于 800 个字符(waf),并且 $path 包含 "flag",则输出 "nssctf waf!",用正则校验路径是否含有flag

这里绕过的方法就是让字符超过800,接上伪协议,就可以得到flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值