theKingOfNight's Blog

CTF-Web-网络信息安全实验室

Word count: 4.7kReading time: 16 min
2019/01/19 Share

web菜逼一枚,如有错误,欢迎大家指出,一起共同进步吧!

基础关

第一题

key在哪里?分值: 100

过关地址

直接查看源代码。

第二题

再加密一次你就得到key啦~分值: 150

加密之后的数据为xrlvf23xfqwsxsqf

根据经验来看,它是rot-13加密(凯撒密码(字母按照某种形式进行替换)的一种变形)

这里是一个非常好的加解密网站:

http://www.mxcz.net/tools/rot13.aspx

第三题

猜猜这是经过了多少次加密?分值: 200

加密后的字符串为:

根据最后面的等号初步判断为base64解码,然后找个网站进行多次解密,也可以写一个python跑跑结果:

`import base64

`secret=’’#这里赋值那一长串的东西

`key=base64.b64decode(secret)

`print(key)

`for i in range(0,20):

`try:

` key = base64.b64decode(key)

`except:

` print(key)

第四题:

据说MD5加密很安全,真的是么?分值: 200

e0960851294d7b2253978ba858e24633

在线解密就好,我是在:

http://www.cmd5.com/

第五题

种族歧视分值: 300

小明同学今天访问了一个网站,竟然不允许中国人访问!太坑了,于是小明同学决心一定要进去一探究竟!

通关地址

尝试用burp抓包,没抓到什么的东西。

外国人,一般都在burp头部信息可以修改的好像只有语言,这里直接将burp的payload修改成如下形式(去掉中文):

image

得到flag

第六题

HAHA浏览器分值: 200

据说信息安全小组最近出了一款新的浏览器,叫HAHA浏览器,有些题目必须通过HAHA浏览器才能答对。小明同学坚决不要装HAHA浏览器,怕有后门,但是如何才能过这个需要安装HAHA浏览器才能过的题目呢?

通关地址

这个和上题一样,都需要修改头文件,这里应该是要修改浏览器为HAHA,这里将payload修改为如下形式:

image

得到flag

第7题

key究竟在哪里呢?分值: 200

上一次小明同学轻松找到了key,感觉这么简单的题目多无聊,于是有了找key的加强版,那么key这次会藏在哪里呢?

通关地址

和上次找key的题一样,这里查看源码啥也没看到

尝试用burp抓包

image

可以看到key就在那里

第八题

key又找不到了分值: 350

小明这次可真找不到key去哪里了,你能帮他找到key吗?

通关地址

打开网页:

image

点击后:

image

所以可能是跳转界面中含有信息,尝试用burp抓包,果然:

image

然后访问这个文件就得到flag了。

第九题

冒充登陆用户分值: 200

小明来到一个网站,还是想要key,但是却怎么逗登陆不了,你能帮他登陆吗?

通关地址

打开网页

image

可以知道需要进行修改Cookie来进行登陆,这里用burp抓包:

image

这里把0改为1就可以登陆了。

第10题

比较数字大小分值: 100

只要比服务器上的数字大就可以了!

通关地址

查看网页源代码:

image

一看就需要改长度,然后提交一个大一些的数,这样改就行 了:

image

第11题

本地的诱惑分值: 200

小明扫描了他心爱的小红的电脑,发现开放了一个80端口,但是当小明去访问的时候却发现只允许从本地访问,可他心爱的小红不敢让这个诡异的小明触碰她的电脑,可小明真的想知道小红电脑的80端口到底隐藏着什么秘密(key)?

通关地址

打开网页:

image

可能需要修改ip,查看源代码:

image

果然需要修改ip,而且x-forwarded-for修改,这里直接这样就好了:

不对不对不对,源代码中已经给了key 了,直接提交,不过要修改的话可以改成这样:

image

第12题

就不让你访问分值: 150

小明设计了一个网站,因为总是遭受黑客攻击后台,所以这次他把后台放到了一个无论是什么人都找不到的地方….可最后还是被黑客找到了,并被放置了一个黑页,写到:find you ,no more than 3 secs!

通关地址

最后一题啦

打开网页后

image

然后直接访问admin.php,发现没有找到…..

然后尝试访问robots.txt,果然,出来了这些东西:

image

然后访问

image

然后直接访问login.php,flag就出来了??

脚本关

第1题

key又又找不到了分值: 200

小明这次哭了,key又找不到了!!!key啊,你究竟藏到了哪里,为什么我看到的页面上都没有啊!!!!!!

通关地址

打开题目:

image

进行点击:

image

可以考虑此题为界面跳转藏flag.

采用burp抓包,果不其然,得到key

脚本关吗,写一个垃圾脚本,也能得到flag:

image

第二题

快速口算分值: 350

小明要参加一个高技能比赛,要求每个人都要能够快速口算四则运算,2秒钟之内就能够得到结果,但是小明就是一个小学生没有经过特殊的培训,那小明能否通过快速口算测验呢?

通关地址

直接上脚本:

image

题目3

这个题目是空的分值: 100

Tips:这个题目真不是随便设置的。

什么才是空的呢?

通关地址:没有,请直接提交答案(小写即可)

直接提交null,答案就出来了??

题目4

怎么就是不弹出key呢?分值: 150

提交说明:提交前14个字符即可过关

通关地址

打开题目:

image

然后点击后没什么反应。

查看源代码:

image

源代码都已经给出了,尝试在本地运行源代码 ,调整为如下代码即可弹出flag

image

提交了老久都说不对,然后结果没有去除’chars’,无奈,去掉以后再次提交,得解。

第5题

逗比验证码第一期分值: 100

逗比的验证码,有没有难道不一样吗?

通关地址

image

首先对题目进行分析,截取发送的包:

image

发现多次提交后只要Cookie不变,验证码就不会改变,这就想到了验证码创建一个会话(Session)

脚本题吗,就需要写一个脚本(刚开始做 了老半天没做出来,没有考虑login.php)

image

第6题

逗比验证码第二期分值: 150

验证便失效的验证码

通关地址

题目提示是“验证便失效的验证码”,采用burp抓包,然后验证一次后就将验证码去掉发现可以绕过。

image

再在界面上整整,发现同一个cookie必须验证一次验证码,这样就简单了,和刚刚一样,只需要将上一题的脚本稍微改一改,脚本如下:

image

第7题

逗比的验证码第三期(SESSION)分值: 150

尼玛,验证码怎么可以这样逗比。。

验证码做成这样,你家里人知道吗?通关地址

采用burp抓包,发现和上一题一模一样???(你家里人知道吗????)

image

第8题

微笑一下就能过关了分值: 150

尼玛,碰到这样的题我能笑得出来嘛…

通关地址

查看网页源代码,点击”?view-source“可以看到源代码:

image

这道题比较简单,我挑重点讲哈,然后主要是对^^进行赋值,但是值中不能有,这就需要url编码绕过。然后需要使用file_get_contents来获取东西,总结如下:

image

然后直接使用第一个就好了,payload:

image

第9题

逗比的手机验证码分值: 150

你的手机号码是13388886666,验证码将会以弹窗的形式给出

通关地址

傻瓜式从操作了几次后发现让登陆手机号13388886667,而且多次验证后发现验证码都是4位数字,这就好办了,直接上代码:。。

跑了半天没结果,这里就不丢人了,后来发现直接获取66的验证码在用67登陆可以直接拿到flag

第10题

基情燃烧的岁月分值: 150

Tips:你是一名黑客,你怀疑你的“(男/女)闺蜜”的出轨了,你要登陆TA手机的网上营业厅查看详单,一探究竟! 闺蜜手机号码:13388886666

通关地址

写的脚本如下:

image

no session,no talk的原因是没有建立session(Breezy dalao指出),每次访问都当对于重新访问,直接创建一个session就好
但是用burp竟然可以做,然后直接用burp先爆破,然后后面会出来一个手机号,那个再次暴力破解验证码就可以得到flag。

第11题

验证码识别分值: 350

验证码识别

Tips:验证码依然是3位数

通关地址

扑街(涉及到识别验证码,还未学习,未完待续)

第12题

XSS基础关分值: 50

XSS基础:很容易就可以过关.XSS类题目必须在平台登录才能进行.登录地址请参考左侧<子系统>

通关地址

直接在alert(HackingLab)[加上script]就能出flag

第13题

XSS基础2:简单绕过分值: 100

很容易就可以过关.

通关地址

输入上一题的答案(两道题的嵌入应该是一样的),然后

image

采用上一题的html进行编码,不过貌似没有什么作用(虽然成功提交了)

image

然后进行多次尝试,发现除 了不能有\标签外html的标签可以正常使用
image
image

然后在其中输入(web渣渣一枚,不知道为什么(a href)无论写什么都不会报错,但是img可以,跪求高手指点,不过输入img的合法地址是都可以成功加载出来图片的(可以显示在welcome后),但是web链接无论有没有都可以点击,并且可以从源代码中找到,但是访问又是另外一回事,所以说,img需要加载的是现成的,可用的资源,没有就会报错,a href可以为不存在的,并且访问不会是网页的事情 )

image

就可以拿到flag

第14题

XSS基础3:检测与构造分值: 130

XSS基础3:检测与构造

Tips:不是很难

通关地址

image

发现加一个’后之前的东西会在下面的Welcome框中显示(没有检测到XSS的时候会出现,简检测到的时候都不会显现),然后’后面的东西会被检测:

image

所以就要想方法从’后面进行XSS注入,然后使用上一题的paylaod,发现不能绕过,源代码中连鬼都没有,大小写也无法绕过,然后不知道怎么做了。

image

后来参考大佬的意见,查看哪些标签关键词没有被过滤(建议准备一个txt文件专门用于检测未被过滤函数(burp就可以做)),然后发现其中的一些函数未被过滤,比如其中的onmouseover:

image

这样就可以使用这个函数进行构造alert来进行弹框

image

后来发现这样竟然不报错,真是神奇:

image

可能出题方将 ‘ 前面的内容从过滤的内容中去除了,这样就简单了,直接构造如下payload

image

至于为什么要加 > 呢,我认为是需要闭合前面 alert’ 显示到下面Welcome边框的那个对话框,然后为什么网页还能正常运行呢,因为html有强大的容错性,即使有错误,但是不会 报错,继续执行代码。

第15题

Principle很重要的XSS分值: 300

原理/原则/理念很重要…..不是所有的xss都叫特仑苏.. ^_^

Take it easy!

通关地址

扑街(未完待续)

注入关

第1题

最简单的SQL注入分值: 100

Tips题目里有简单提示

通关地址

查看源代码:

image

直接用万能密码登陆

image

第2题

最简单的SQL注入(熟悉注入环境)分值: 100

最简单的SQL注入

通关地址

查看源代码,有 个提示id=1,然后对id进行赋值 1,2,3,4,其中赋值到4是界面是空白的,赋值到3时,题目是这样滴:

image

如下payload:

image

程序报错,直接在这里尝试注入

image

可以知道字段数位3,然后就是老方式注入方法:

image

image

image

老手段注入,不过这个题还是比较善良的:

image

直接出现了所有 的column名字,然后一个个试,flag在 第3个中

第3题

防注入分值: 300

小明终于知道,原来黑客如此的吊,还有sql注入这种高端技术,因此他开始学习防注入!

通关地址

flag是随机序列

这道题墨迹了好久,然后没出来,后来用burp抓了一下包,

image

发现是gb2312,这样就简单了,直接用宽字节注入–

image

image

然后就任我行,老套路,这里不讲了。

不对,后来注入的时候发现过滤了’,结果不能用老套路,这里上个paylaod

然后可以采用16进制绕过(在某位大佬的协助下),具体payload如下:

image

然后啥都知道了(数据库名,表名,字段名),直接查询就好了,剩下的就不讲了。

第4题

到底能不能回显分值: 350

小明经过学习,终于对SQL注入有了理解,她知道原来sql注入的发生根本原因还是数据和语句不能正确分离的原因,导致数据作为sql语句执行;但是是不是只要能够控制sql语句的一部分就能够来利用获取数据呢?小明经过思考知道,where条件可控的情况下,实在是太容易了,但是如果是在limit条件呢?

通关地址

第一次遇到limit,这里有一篇文章是讲这个的:

抓包一看是gb,非常高兴,然后按照上一题的方式来弄,发现orderbyXXXX不管用,于是就猜测吧东西过滤了,然后就需要检测哪些东西没有被过滤:

image

经检测,procedure没有被过滤。。。然后直接将那篇文章上面的语句复制过来,直接完成报错了……..

然后就使用报错注入任我行了…..

image

然后爆表:

image

剩下的就不说了,正常套路,最后的payload是这样的:

image

第5题

邂逅分值: 350

小明今天出门看见了一个漂亮的帅哥和漂亮的美女,于是他写到了他的日记本里。

通关地址

进入界面后,查看图片的地址,可以查看到图片的地址。然后采用burp抓包进行修改参数(第一次看到图片修改绕过,参考大佬的wp)

image

image

然后就任我行了。最后的payload:

image

访问图片即可。

第6题

ErrorBased 分值: 150

本题目为手工注入学习题目,主要用于练习基于Mysql报错的手工注入。Sqlmap一定能跑出来,所以不必测试了。flag中不带key和#

该题目需要在题目平台登录

通关地址

刚开始没头绪,后来问了一下才知道这考察报错注入。那么这道题就简单了,直接上最后的payload:

image

bugku里面有一道题与这个类似,可以参考bugku里面的报错注入。

第7题

盲注分值: 200

今天我们来学习一下盲注.小明的女朋友现在已经成了女黑阔,而小明还在每个月拿几k的收入,怎么养活女黑阔………..so:不要偷懒哦!

通关地址

首先简单的测试一下:

image

然后就等了一分钟….一分钟……

盲注题,又需要写脚本了(好像使用nmap可以跑出来?),网站网络测速反应比较慢,还是拿nmap跑吧。

手工注入这里有详细资料:

http://blog.csdn.net/zhankehua/article/details/51729593

第8题

SQL注入通用防护分值: 250

小明写了一个博客系统,为了防注入,他上网找了一个SQL注入通用防护模块,GET/POST都过滤了哦!

通关地址

刚开始做的时候无从下手,不过看了大佬的wp,知道可以用sqlmap来寻找注入点,可以找到实在cookie中:

image

然后就是常规操作了,简单判断是数字型注入,然后常规手续

image

后面的步骤不讲,常规操作(啥也没过滤)。

最后的payload:

image

第9题

据说哈希后的密码是不能产生注入的分值: 400

代码审计与验证:通关地址

查看源代码

image

这句话应该就是进入程序的重点了,重点应该是md5和对输出字符进行处理的intval函数

这里有一个需要注意的地方:

MD5(“123456”)——>e10adc3949ba59abbe56e057f20f883e //正常的

MD5(“123456”,ture)——>� �9I�Y��V�W��> //出来的就是一堆乱码,(乱码可以绕过这里的查询)

如果出来的乱码中有 ‘or’ ,那么就可以直接使查询语句变为:

where usrid='XXX' and password='      '  or'  //垃圾'

那么有有没有这样的东西呢,百度就可以得到这样的一个字符串:ffifdyop

这样这道题就很简答了,直接上payload:

http://lab1.xseclab.com/code1_9f44bab1964d2f959cf509763980e156/?userid=1&pwd=ffifdyop

不知道最后界面好像不让我连接,XFF也没有连上,这道题思路就是这样。。。

上传关

第1题

请上传一张jpg格式的图片分值: 100

只能上传jpg格式的图片哦~!

通关地址

查看网页源代码:

image

看到了jsp代码,尝试F12直接禁止jsp(可以看到的一般都在本地运行)的上传,成功夺取

第2题

请上传一张jpg格式的图片分值: 150

只能是jpg哦!

通关地址

和上一题操作一样,不过失败,所以这次的验证实在服务端验证,采用burp抓包,编写一句话木马,然后将其中的后缀名改为.jpg,尝试上传:

image

得到flag

第3题

请上传一张jpg格式的图片分值: 150

只能是jpg哦!

通关地址

源代码是这样的:

image

将文件名根据 . 进行分割,然后只检测第二个分割出来的是不是 .jpg,这样就好说 了,直接构造如下payload:

image

CATALOG
  1. 1. 基础关
    1. 1.1. 第一题
    2. 1.2. 第二题
    3. 1.3. 第三题
    4. 1.4. 第四题:
    5. 1.5. 第五题
    6. 1.6. 第六题
    7. 1.7. 第7题
    8. 1.8. 第八题
    9. 1.9. 第九题
    10. 1.10. 第10题
    11. 1.11. 第11题
    12. 1.12. 第12题
  2. 2. 脚本关
    1. 2.1. 第1题
    2. 2.2. 第二题
    3. 2.3. 题目3
    4. 2.4. 题目4
    5. 2.5. 第5题
    6. 2.6. 第6题
    7. 2.7. 第7题
    8. 2.8. 第8题
    9. 2.9. 第9题
    10. 2.10. 第10题
    11. 2.11. 第11题
    12. 2.12. 扑街(涉及到识别验证码,还未学习,未完待续)
    13. 2.13. 第13题
    14. 2.14. 第14题
    15. 2.15. 第15题
    16. 2.16. 扑街(未完待续)
  3. 3. 注入关
    1. 3.1. 第1题
    2. 3.2. 第2题
    3. 3.3. 第3题
    4. 3.4. 第4题
    5. 3.5. 第5题
    6. 3.6. 第6题
    7. 3.7. 第7题
    8. 3.8. 第8题
    9. 3.9. 第9题
  4. 4. 上传关
    1. 4.1. 第1题
    2. 4.2. 第2题
    3. 4.3. 第3题