SDUT_CTF_WEB题目writeup

平台链接http://sctf.sdutislab.cn/challenges

这里写图片描述
闲的没事做了做实验室自己搭的平台,把web题目writeup放出来

签到题

右键查看源代码这里写图片描述

芝麻开门

这里写图片描述
输入口令:zhimakaimen 那就输呗 结果发现 zhimakaimen是11位,但是输入框最大允许输入10位
f12改一下前端验证把最后一个n输进去,flag就出来了
这里写图片描述

层层递进

看源代码之后,iframe奇怪!
那些属性都是0,于是当然要点链接进去看看了,每次都点第一个iframe里的链接,最后进了一个404.html的链接
这里写图片描述
就到了这里,完全被这个故事吸引了,而key还是没找到。。
不得不说眼瞎了,这堆我看起来没用的js。。我已经不想说话了
这里写图片描述
根据提示与右键源码,可以知道用\来使单引号闭合
关键是username=\&password=or 1=1%23 (%23表示#,直接#不行。。。不知道为什么要url编码后才可以)
这样子 sql语句就变成了
SELECT * FROM users WHERE name=’\’ AND pass=’ or 1= 1#’;(表示被闭合掉了)
这样就可以得到flag了:
nctf{sql_injection_is_interesting}

变态的JS

运行题目的代码,得到1bc29b36f623ba82aaf6724fd3b16718.php
回去构造链接(http://teamxlc.sinaapp.com/web3/b0b0ad119f425408fc3d45253137d33d/1bc29b36f623ba82aaf6724fd3b16718.php
提示tip在脑袋(head)里,那看头咯,返回包里有tip,提示history of bash
不知道什么玩意,百度咯,可以看看(http://blog.csdn.net/pan_tian/article/details/7715436
用法就是http://teamxlc.sinaapp.com/web3/b0b0ad119f425408fc3d45253137d33d/.bash_history
打开提示一个zip文件,下载就好了
http://teamxlc.sinaapp.com/web3/flagbak.zip
flag is:nctf{bash_history_means_what}

黑进去

存在md5加密
username: 1’ and 1=2 union select ‘c4ca4238a0b923820dcc509a6f75849b’ – -
password: 1
拿到flag

交作业吧

西普文件上传原题

The Ducks

变量覆盖
post传参时传入thepassword_123=123&pass=123
得到flag

写题解写到这发现都是南邮ctf的题,下面的题解只是本实验室内部出题题解

来自谷歌的你

改http头:referer:google
得到flag

慢点再慢点

发现什么都没有,抓包看看,发现还是什么都没有
这是看一下题目地址
http://118.89.168.43:8001/web/web1001
但我们打开时成为http://118.89.168.43:8001/web/web1001/no_key.php
有可能是个301跳转
用burp修改跳转到源地址
这里写图片描述
发现txt文件,打开拿到flag

永真式注入

这里写图片描述

SQL联合查询

用户名:1’ and 1=2 union select 1– -
密码:1

畸形化SQL语句

这里写图片描述
发现上来屁话一大堆,意思就是说有过滤
如果php代码不熟的话,可以在本地搭建环境,测试到底如何过滤
这里写图片描述
这里写图片描述
发现所有关键字全部被过滤掉了
这时想就可以用套接字的一种方式
$input=”1’ anandd 1=2 ununionion seselectlect ‘123”;
这里写图片描述
语句就正常了
这里写图片描述
不要忘记把前端限制去掉,不然输入框为只读,而且最大输入长度为1

我的初恋

这里写图片描述
这个出题者总是以极强的故事性把我们带入其中(屁话还是一大堆)
php strcmp函数漏洞,传递数组绕过验证, 抓包
这里写图片描述
strcmp漏洞细节自行百度

特制浏览器

一看题面就知道是改http头,不过这里有个坑点
这里写图片描述
改UA头时 改为SDUT-CTF-Browser, 最后.exe不要加

去掉引号的注入

这个题还以为是什么php函数漏洞,结果就是一个宽字节注入
这里写图片描述
gbk编码的宽字节注入,payload构造如下
http://118.89.168.43:8001/web/sql1004/login.php?usr=1%df%27%20union%20select%201–%20-&pwd=1
宽字节注入自行百度
这里写图片描述

无空格SQL注入

根据题目意思和题面所给出的代码,可以判定就是一个用其他字符代替空格完成注入的一个题
可以参照我的这篇文章完成题目
payload构造如下
这里写图片描述
flag就出现了

UNION_Plus

老套路了
payload:
id: 1 union select ‘c4ca4238a0b923820dcc509a6f75849b’, 2
password: 1
其中c4ca4238a0b923820dcc509a6f75849b是密输入密码1的md5值

代码审计1

发现又是php函数的漏洞,百度查下资料,数组可以绕过
这里写图片描述

到底是不是注入?

进去发现需要id参数,那就传进去
这里写图片描述
题目给的很清晰,flag位置全都告诉了
做了几次尝试,除了有具体的sql语句之外什么都没有
我猜是基于时间的盲注
http://www.mingzhegao.com.cn/ctf_test/login.php?id=1%27%20and%20sleep(5)–%20-
果然存在延时,也就是说存在时间盲注漏洞
算了,不想手注了,直接sqlmap开跑吧
这里写图片描述
存在注入点
这个题最后又加了个判断UA头,如果是sqlmap就结束,所以sqlmap如果不加–random-agent随机头的参数压根跑不出来

注入

一开始进去,啥啊,什么都注不出来,看来后台判断写的很死
还有个注册按钮,那就注册试试吧
注册进去之后
这里写图片描述
发现一个点 这个系统在找和你有相同手机号人的username
在用233的手机号重新注册一个看看
这里写图片描述
果然,那这就算有个注入点了
重新注册在手机号里构造payload
发现有验证,只能为数字,以前做过一个题,绕过数字,转为16进制
这里写图片描述
这里写图片描述
这里写图片描述
用户数据库版本都出来了
再搞出表名和列名
这里写图片描述
表名有两个,flag和user
很明显flag在表flag中
这里写图片描述
这里写图片描述

点击一百万次

发现是一段js代码做的伪动态网页,尝试着点几次,再结合题目,明白了出题人的目的,点击100万次后,flag就会出来。右键审一下源码看看有什么别的东西
这里写图片描述
这段js脚本包含的信息量已经足够做这个题目了,它将你点击的次数存储在clicks这个变量里,只要这个变量的值超过一百万,这个题目就game over。
两种做法:
一:找个暴力点击模拟器,启动,让它一直运行,点击超过一百万次就会出flag
二:控制台直接给clicks变量赋值,使他比一百万大。
这里写图片描述

登录入口在哪

http://118.89.168.43:8001/web/web1006/robots.txt

http://118.89.168.43:8001/web/web1006//D56B699830E77BA53855679CB1D252DA/login.php

php序列化练习

相似题解已经给出来了,教学题

SDUT(山东理工职业学院)在Java教学方面,通常会涵盖Java编程基础、面向对象编程、异常处理、集合框架、流式编程、文件操作以及数据库访问等内容。Java作为一种广泛使用的编程语言,因其平台无关性、面向对象、安全性等特点,在高校及企业中非常受欢迎。在教学过程中,学生会通过理论学习和实践练习来掌握Java语言的核心概念和应用。 学生在学习Java时,会逐步了解如何使用Java开发环境,例如安装JDK、配置环境变量等,之后会通过编写小程序来实践基本语法,如数据类型、控制流(if-else、switch、循环等)、数组的使用等。进一步,学生将学习类与对象的创建和使用,掌握继承、多态等面向对象编程的基本概念,并通过接口和抽象类的应用来实现多态。 异常处理方面,学生会学习如何捕获和处理运行时可能出现的错误,提高程序的健壮性。Java的集合框架,包括List、Set、Map等接口和实现类,是处理数据集合的重要工具,学生会学习如何操作这些集合。流式编程是Java 8引入的一个重要特性,学生会学习Lambda表达式和Stream API的使用,以实现更加简洁和高效的数据处理。 文件操作和数据库访问是Java应用程序与数据存储交互的常见方式。学生会学习如何使用Java I/O类读写文件,以及使用JDBC与关系数据库进行数据的存取操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

西杭

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

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

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

打赏作者

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

抵扣说明:

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

余额充值