摘要:
一.进入实验 1.先用 dirsearch 去扫描目录 python dirsearch.py -u "http://111.198.29.45:33988/" -e * 根据扫描的结果我们发现了robots.txt,user.php,view.php等等,扫完之后先不急着去访问,在进入实验环境后, 阅读全文
摘要:
一.代码审计 1.进入实验环境后,发现是一段ohp代码,于是猜测我们要找的flag和这段代码应该有关系 2.简单了解一下代码中的一些函数: strrev() 函数反转字符串。 substr() 函数返回字符串的一部分。 语法:substr(string,start,length) 注释:如果 sta 阅读全文
摘要:
一.进入实验环境 点击About,发现git,可能有git源码泄露,访问git发现确实存在源码泄露,这里用 GitHack去获取源码。 在flag.php文件中,结果一段时间的审计,发现存在漏洞 这里没有对输入的的page经过严格的过滤和处理。 先了解一下这个函数: bool assert(mixe 阅读全文
摘要:
一.进入实验环境 1.对于这种感觉文件多的站点我们先用 dirsearch 扫一下 2.发现git泄露,也就是Git仓库源码泄露,我们可以通过GitHack去拿源码。 当运维或者开发使用自动部署的方式,如果配置不当,会将.git文件夹直接部署到线上环境,造成git泄露漏洞。 3.打开api.php发 阅读全文
摘要:
一.暴力破解解题 1.进入实验环境后发现只有一处可以点,点进来之后发现提示送分题。 2.观察 url http://111.198.29.45:51831/index.php?id=1 觉得可能存在sql注入,但简单测试了一下,发现并不存在。 页面还有个就是选择日期,选了半天好像也没什么用,那就试试 阅读全文
摘要:
一.进入实验。 出现三个文件 分别访问这三个文件: 这个文件感觉应该是flag的文件名。 通过第三个文件我们可以知道只要知道了cookie_secret,就可以得到flag了。 根据签名的 文件名 /fllllllllllllag ,试图访问看看:发现报错 据了解tornado是python中的一个 阅读全文
摘要:
一.根据题目猜测和反序列化漏洞有关 1.思路: 进入实验环境后,发现是一段php代码,通过接受get请求方式将提交过来的var的值, 先进行base64解码,再进行正则的判断,如果不匹配成功就会反序列化输入的参数值。 所以这里我们目的就是为了绕过正则表达式,让其反序列化出我们要的fl4g.php,再 阅读全文
摘要:
一.看题目应该是和sql注入有关 1.进入实验环境,发现是一个输入框,尝试判断一下是否存在sql注入, 输入 ' 根据报错信息可以知道存在sql注入,然后常规的操作,判断查询的字段数目 ' order by 2 # ,页面显示正常 当 ' order by 3# 时,发现报错,由此判断查询的字段数为 阅读全文
摘要:
一.进入实验发现是python的模板注入 1.我们先来了解一下: instance.__class__ 可以获取当前实例的类对象 class.__mro__ 获取当前类对象的所有继承类 每一个新式类都保留了它所有的子类的引用,__subclasses__()这个方法返回了类的所有存活的子类的引用(注 阅读全文
摘要:
一.根据题目应该感觉和文件上传有关 1.进入实验环境,发现果然是一个文件上传的表单。 2.尝试把事先写好的一句话木马文件上传上去,但上传失败,提示只能上传图片, 那我们就看看这个限制是在前端做的,还是后端做的,通过f12开发者根据, 选取页面中上传按钮的那个元素,可以发现点击后会通过js中的函数进行 阅读全文
摘要:
一.根据题目猜测这道题应该和反序列化漏洞有关 1.先了解一下什么是序列化和反序列化 当在php中创建了一个对象后,可以通过 serialize() 函数把这个对象转变成一个字符串,保存对象的值方便之后的传递与使用。 与 serialize() 相反的就是反序列化函数 unserialize() ,它 阅读全文
摘要:
一.进入实验环境 1.什么是phps文件? phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。其实,只要不 用php等已经在服务器中注册过的MIME类型为文件即可,但为了国际通用,所以才用 阅读全文
摘要:
一.按照提示下载附件 1.打开后发现是一段javascript代码,我们将下载的附件改一下文件名,改为后缀为 .html 在通过浏览器打开发现是一个输入框。 我们随便输入点什么看看有什么反应,很遗憾,什么提示都没有,我们f12,查看源码发现它最后通过eval()函数将function里的内容去执行 阅读全文
摘要:
一.考查sql注入方面的知识点 1.可用sqlmap去拿到flag 2.手工注入: 先判断查询的字段个数: 1' order by 3 # 没有报错,证明查询的字段>=3 再 1' order by 4 # ,报错说明查询的字段数为3. 通过联合查询爆出数据库名 : 1' union select 阅读全文
摘要:
一.进入实验环境后一脸懵逼 我们右键查看源代码,发现在注释里面透露一个source.php 我们打开这个source.php,发现是一段php代码,我们先进行代码审计,且发现 hint.php, 我们访问一下这个文件 得到包含flag的文件名。 我们再来看看source.php的代码部分: mb_s 阅读全文