1.flag在哪?
打开链接
点击确定后,这是一道web签到题,应该不会很难,看一眼源代码
单击鼠标右键,发现不能查看源代码
找到更多工具中的web开发者查看
发现flag
提交,此题完毕
2.传个参吧
打开链接
联想到假期作业,ctfhub中的get,post
看一下页面源代码
发现其中有句话,好像是在给我们提示,尝试一下get传参
发现有反应,下面就应该用post传参
flag出来了
3.boom!
看这个题目直接联想到爆破
先打开bp再说
发现题目有给提示
跟着它的提示,首先查看了源代码,又返回web签到中查看,发现有给一些信息
根据自己的常识,咱可以知道,我们的学号是12位的(后面有用)
浅浅的输个密码看看吧
报错了,那就爆破抓包吧,记得先修改代理
添加一下符号,准备爆破
这算典型的数字型爆破,记得设置一下以下参数
破解之后,双击以下length,按照长度排列一下
会发现有一个不一样
发现flag
4.easy-include
联想到假期作业ctfhub中的文件包含
咱就是浅浅看一下源代码吧
就是一个什么都没有的大状态!
浅输入一下 index.php
发现有回显,那咱就直接输入flag.php,万一在呢
它出来了!
5.easy-php
打开靶机,发现是php代码,感觉需要php伪协议去做(后来才知道的,考试的时候压根就没做到这题)
等俺浅浅学习一下php伪代码是啥?
[php知识点]PHP伪协议_Landasika的博客-CSDN博客
看懂了一点点,但没完全懂
做一下题看看吧!
跟上题一样输入flag.php没有任何反应,那此时我们仔细看它给的代码有一串很奇怪
看到上一行还有一个MD5,所以这题有可能是php+MD5绕过
通过学习,咱又看懂了一行代码,就是说这题是MD5的弱比较
松散比较也就是弱类型比较,严格比较就是强类型比较
a==b:弱类型比较会将a和b转成统一数据类型在进行比较,而强类型比较会先判断a和b是不是相同类型,不是,则返回false,是,再比较a和b的值。
在php中,intval的意思为获取变量的整数值,是一个可以将其他类型变量转为整数类型的函数
要求md5加密后相等且不加密不等的问题便是双md5碰撞。
此时a已经赋值为了0,b已经赋值为了1,所以在下面的运行中数组a可以被表示为0[]
6.easy-rce
emmm这题考的是ping命令,我觉得它肯定有过滤掉什么符号
所以咱就浅浅的尝试一下先
当我输入127.0.0.1:ls时,没反应
输入127.0.0.1|ls
没有咱想要的继续访问上一级
ls / 显示根目录下的所有文件、文件夹
发现有flag文件,咱就是一个查看的大动作
发现它并没有显示flag文件中的内容,它应该把cat过滤掉了
换一个
代替cat的命令
cat:由第一行开始显示内容,并将所有内容输出
tac:从最后一行倒序显示内容,并将所有内容输出
more:根据窗口大小,一页一页的现实文件内容
less:和more类似,但其优点可以往前翻页,而且进行可以搜索字符
head:只显示头几行
tail:只显示最后几行
nl:类似于cat -n,显示时输出行号
tailf:类似于tail -f
sort%20/flag 读文件
dir来查看当前目录文件
!!!!! 每个命令输完都要带个空格,才能进行
7.easy—sql
(考试的时候没做出来就是说,师兄提了一嘴万能密码)
打开靶机,发现他的title是叫管理员后台,先随便输一串熟悉的看看有什么效果
瞅一眼源代码,发现有个东西
sqlmap啥?不懂,给了我一个解题方向,搜搜看
CTF-web 第十二部分 sqlmap专题_iamsongyu的博客-CSDN博客
懂了,但没完全懂?同学告诉我sqlmap无用,只能手动注入
SQL注入详解(全网最全,万字长文)_今天小白努力学习了吗的博客-CSDN博客
输一个万能密码,看它会不会有回显
发现它应该是字符型注入而且过滤掉了空格
过滤的空格可以用/**/代替
- 判断显示位
判断显示位时,要使用 ?id=-1 或者改为0 让前面的select语句查询为空错误,然后采用后面的select语句去查询:
?id=-1’ union select 1,2,3 --+
观察页面在哪里回显我们的输入,就可以用那个地方测试接下的语句。
输入这一段后,发现了回显,1 被sql注入了,改动1,的位置
- 爆数据库的名字
?id=1’ union select 1,database(),3 --+
在之前回显2的地方会回显database数据库的名字。
爆表名
- 爆数据库中的表
?id=1’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() --+
数据库语句懒得解释了。
爆表中的字段
?id=1’ union select 1,group_concat(column_name),3 from information_schema.column where table_schema=’爆出来的数据库名‘ and table_name=‘爆出来的表名’ --+
就是说用自己的方法做不出来,叫同学来写的他的方法跟我很不一样
他后来爆出来了,hack1,2,3,就是字段名