3

南邮-Web(一)

 1 year ago
source link: http://qwzf.top/2019/07/25/%E5%8D%97%E9%82%AE-Web(%E4%B8%80)/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

南邮-Web(一)

发布时间 :2019-07-25 20:05
字数:1.8k 阅读 :15

最近做了些南邮的Web题,虽然有些比较基础,但依旧可以学到一些Web知识。

Web1:签到题

题比较基础,查看源码即可

在这里插入图片描述
在这里插入图片描述

Web2:md5 collision

在这里插入图片描述
在这里插入图片描述

审计题目的代码可知:

  1. 字符串QNKCDZO进行md5,得到md5值0e830400451993494058024219903391并赋值给变量$md51
  2. GET请求获取提交a的值并赋值给变量$a,并对$a进行md5操作赋值给$md52
  3. 若变量$a不为空,且不等于’QNKCDZO’,并$md51$md52的值内容相等,则可以得到 flag。
  4. 由于$md51为0e830400451993494058024219903391,在==比较时,会被认为是0*10^830400451993494058024219903391,也就是0。
  5. 那满足条件的变量$a就是其md5值是0e开头的即可
    找一个md5加密后为0的值:s878926199a
    更多请点击->MD5加密后==’0’
    由于是GET请求获取变量$a,构造参数flag显现
Markdown

Web3:签到2

Markdown

很明显,口令有11位,输入框只能输10位,增大输入框长度即可。输入口令得到flag

在这里插入图片描述

Web4:这题不是WEB

在这里插入图片描述
在这里插入图片描述

看题目提示,可能此题不是Web题。。。点开题目地址

在这里插入图片描述
在这里插入图片描述

分析发现就这张图片比较可疑,保存图片,看是不是图片隐写。先用WinHex打开

在这里插入图片描述
在这里插入图片描述

果然这题不是WEB,是图片隐写

Web5:层层递进

题目描述没有提示,点击题目地址

在这里插入图片描述
在这里插入图片描述

没有有用信息,查看网页源码

在这里插入图片描述
在这里插入图片描述

发现有个SO.html,输入到url地址栏,并查看源码

在这里插入图片描述
在这里插入图片描述

发现有个S0.html,输入到url地址栏,并查看源码

在这里插入图片描述
在这里插入图片描述

发现有个SO.htm,输入到url地址栏,并查看源码

在这里插入图片描述
在这里插入图片描述

发现有个S0.htm,输入到url地址栏,并查看源码

在这里插入图片描述
在这里插入图片描述

发现有个404.html,输入到url地址栏

在这里插入图片描述
在这里插入图片描述

查看源码

在这里插入图片描述
在这里插入图片描述

发现flag了,flag是nctf{this_is_a_fl4g}。果然是层层递进。。。。。

Web6:AAencode

在这里插入图片描述
在这里插入图片描述

先百度AAencode:

什么是jjencode?将JS代码转换成只有符号的字符串
什么是aaencode?将JS代码转换成常用的网络表情。
js javascript复制代码

根据题目描述,这是一道颜文字js加密,但是密文不应该是这样。所以应该编码有问题。用火狐打开,单击查看–>文字编码–>unicode

在这里插入图片描述
在这里插入图片描述

编码成功,然后进行颜文字解密。可以用火狐的控制台,也可以用谷歌的Console

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Web7:单身二十年

打开题目,查看源码

在这里插入图片描述
在这里插入图片描述

点击,发现并没有进入到search_key.php。应该是重定向了。

在这里插入图片描述
在这里插入图片描述

所以抓包,发送到Repeater

在这里插入图片描述
在这里插入图片描述

点击Go,发包,得到flag了

在这里插入图片描述
在这里插入图片描述

Web8:php decode

在这里插入图片描述
在这里插入图片描述

审计php代码。发现eval函数1,先百度一下eval:
eval() 函数用来执行一个字符串表达式,并返回表达式的值。
eval()函数会执行括号里面的语句,这种代码在现实中一般是某个黑客上传的一句话马。
但在这里eval里面肯定就是flag了,所以将eval改为echo输出eval里面的内容

在这里插入图片描述
在这里插入图片描述

运行php代码,得到flag

在这里插入图片描述
在这里插入图片描述

Web9:文件包含

在这里插入图片描述
在这里插入图片描述

点击”click me? no”,发现存在文件包含

http://4.chinalover.sinaapp.com/web7/index.php?file=show.php
php复制代码

文件包含?!不会。。。了解一下吧!
文件包含漏洞
文件包含
解释:
LFI是能够打开并包含本地文件的漏洞

所以这道题是本地文件包含, 尝试使用伪协议读取php文件

http://4.chinalover.sinaapp.com/web7/index.php?file=php://filter/read=convert.base64-encode/resource=index.php
php复制代码

得到base64加密后的字符串

在这里插入图片描述
在这里插入图片描述

Base64解密,看到原内容,得到flag。

在这里插入图片描述
在这里插入图片描述

Web10:单身一百年也没用

这道题Web7单身二十年很像,但当我们直接点击“到这里找KEY”然后再进行抓包时,找不到异常。
额。不会了。。查看一下大佬的博客,了解到
当我们先抓包再点击接着再抓包时候会找到302重定向错误代码,这时候可以在响应头中找到flag。
大佬用的是火狐,而我的火狐有点问题,没有抓到中间重定向的包。
所以我直接用的谷歌的Network

在这里插入图片描述
在这里插入图片描述

百度302错误代码:302重定向又称之为302代表暂时性转移(Temporarily Moved ),英文名称:302 redirect。 也被认为是暂时重定向temporary redirect),一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过短期的URL的变化时使用。一个暂时重定向是一种服务器端的重定向,能够被搜索引擎蜘蛛正确地处理。

Web:Download~!
题崩了,打不开了。。。。

Web11:COOKIE

在这里插入图片描述
在这里插入图片描述

有一个提示0==not
点开题目

在这里插入图片描述
在这里插入图片描述

“please login first!”翻译成“请先登录!”,burpsuite抓包

在这里插入图片描述
在这里插入图片描述

发现Cookie:Login=0,而0===not,所以将0改为1,再点击Forword发包,得到flag

在这里插入图片描述
在这里插入图片描述

Web12:MYSQL

题目没有提示,点开题目

在这里插入图片描述
在这里插入图片描述

robots.txt这个我知道,之前做攻防世界的Web题遇到过
robots协议
robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。
所以在url栏里输入robots.txt

在这里插入图片描述
在这里插入图片描述

发现提示sql.php,在另一窗口打开。然后审计php代码,发现intval() 函数,百度一下
intval() 函数
intval() 函数用于获取变量的整数值。
intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。

理解一下php代码
1、$id等于$_GET[id]的整数值
2、sql查询语句id='$id'
3、如果 $_GET[id]==1024返回“no! try again”,否则返回数据库content字段内容
所以在sql.php页面进行get传参。get传递的参数不能等于1024,且查询时id=1024,所以get传一个整数部分为1024的浮点数即可。最终得到flag。

在这里插入图片描述
在这里插入图片描述

Web13:GBK Injection

在这里插入图片描述
在这里插入图片描述

这道题是宽字节注入,我还没学到,就先用sqlmap做一下吧,正好可以熟悉熟悉sqlmap命令的使用
至于为什么要加%df
%df%27是双字节不转义单引号实现注入的方法,具体看大佬博客
gbk字符编码和宽字节sql注入
1、爆库
命令:

sqlmap.py -u "http://chinalover.sinaapp.com/SQL-GBK/index.php?id=1%df%27" --current-db
sql复制代码
在这里插入图片描述
在这里插入图片描述

所以当前数据库为:sae-chinaover
2、爆表
命令:

sqlmap.py -u "http://chinalover.sinaapp.com/SQL-GBK/index.php?id=1%df%27" --tables -D sae-chinalover
sql复制代码
在这里插入图片描述
在这里插入图片描述

3、爆字段和数据
发现6个表,根据题目标题GBK Injection,所以flag有可能在gbksqli表里
命令:

sqlmap.py -u "http://chinalover.sinaapp.com/SQL-GBK/index.php?id=1%df%27" --dump -T gbksqli -D sae-chinalover
sql复制代码
在这里插入图片描述
在这里插入图片描述

当然,如果没想到这个表,可以一个表一个表的试。需要注意的是,在ctf4表里也出现了flag

在这里插入图片描述
在这里插入图片描述

但这个并不是这道题的答案。

Web14:变量覆盖

在这里插入图片描述
在这里插入图片描述

似乎没听说过,那先了解一下有关变量覆盖的基础知识吧
变量覆盖漏洞详解
CTF之php变量覆盖漏洞
开始做题

在这里插入图片描述
在这里插入图片描述

点开显眼的source.php文件

在这里插入图片描述
在这里插入图片描述

审计php代码,发现如果$pass==$thepassword_123就显示flag。所以构造get传参值,让两变量相等

在这里插入图片描述
在这里插入图片描述

得到flag。
就先总结这么多吧。。。。。。。。。。。。

题不是太难,重点是基础知识的掌握。尤其是文件包含的理解和代码审计的能力。
小白进阶ing。。。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [email protected]


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK