WEB

WEB安全

漏洞复现

CTF

常用工具

实战

代码审计

后渗透

内网渗透

免杀

进程注入

权限提升

漏洞复现

靶机

vulnstack

vulnhub

Root-Me

编程语言

java

逆向

PE

逆向学习

HEVD

其它

关于博客

面试

杂谈

CISP-PTE题目

群里面有个老哥丢了几道PTE的题目出来,然后我想这我也要考的我就去做了做,趁现在环境还有赶快记一下

0x01 二阶注入

我刚开始还以为是弱口令,直接admin/123456就进去了..然后我问群里老哥,他说密码是他改的,的确是一道二阶注入

我印象里面二阶注入是注册的时候在用户名(或别处)用sql语句把需要得到的信息输出出来,然后登录进去就会看到注入出来的数据在用户名处

然后我单引号双引号括号试了试都不报错,就迷惑了,后来老哥发来一篇文章

https://www.cnblogs.com/micr067/p/12731198.htm

看了一下原来是sqli-lab24关,印象里这关在windows上因为大小写的问题会被重命名,所以我也没有打过,哎,然后学习了一下注册的时候用户名注册为admin’#登录进去之后修改密码就可以了,也是sql语句拼接的问题导致修改的是admin的密码

然后我去注册的时候admin’#已经被注册走了,猜了猜密码估计也是123456,进去之后修改密码为123,然后admin/123登录进去就可以了

好的嘛然后我现在写文章的时候密码又被别人改了,我还猜不到admin’#的密码了,想了想只能再注册了一个admin’#123456然后上去修改密码,反正#都是被注释掉的加什么都可以修改密码为123之后登录

我看了一下这页面上的’都变成撇了,我也调不过来,注意一下是英文的单引号就好了

0x02 文件上传

随便测试了一下发现只要有图片的pe头然后一句话不要太简单就能过了

1
2
3
4
5
GIF89aÀ
<?php
$shell = create_function('',$_POST['pass']);
$shell();
?>

后缀改成jpg,然后上传的时候用bp改回来就行了

0x03 文件包含

start/index.php?file=view.html

url是这样的,我去包含/etc/passwd ../写了很多还是不行,然后就去看了看view.html

查看源代码后发现这个文件里面就有php代码..

看了一下php代码就是要先post一个Hello参数,然后就可以执行后面的php代码了,之前关于代码执行的函数里面写过/e

1
[@eval(base64_decode($_POST[z0]));]

base64接出来是这样的,密码是z0然后再经过一次base64解码,那只要提交一个base64编码后的php代码就可以了

payload:Hello=a&z0=c3lzdGVtKCdjYXQgL3Zhci93d3cvaHRtbC9rZXkucGhwJyk7

查看一下源代码就可以了

0x04 代码审计

看着代码有点眼熟啊我好像做过

再仔细一看不就是那个限制字符长度getshell那个ctf题目..把7改成了30,拿自己的写的脚本一把梭,终于自己写的脚本用上了有点爽,直接getshell

蚁剑上去看看,好像用我这种方法的比较少,我去翻了翻目录发现admin/backdoor.php,打开直接输出key..,看来以后题目做不出爆破也是一种选择..

写的时候key那个文件已经不见了,只能去看这个backdoor了,估计是被别人改名改掉了,如果知道文件名的话可以用mv或者cp把php换成txt这样就可以直接读了,最好用cp吧,mv的话别人就找不到了,这可能也是这这道题之前没有写文件名的原因吧

emmm刚刚想到一个方法,有这么多字符的话直接ls>a.txt把目录输入到文本里就好了,直接看吗就可以了

0x05 命令执行

这道题目不就是经常出现的ping命令吗,觉得还挺简单的

做了一下就笑不出来了,可能还是我太弟弟了,拼接的只有&可以用标点符号过滤了不少,但是有些明明不报错但是就是显示不出来,就有点绝望了,然后各种方法试了一下都不行,最后只能再去问老哥,然后拿到了exp

1
2
3
127.0.0.1&l$1s    测试绕过规则
127.0.0.1&c$1at index$2.ph$3p 查看index.php代码(应该没用)
127.0.0.1&c$1at ../ke$2y.ph$3p 读取key值

还真是我以前没看到过的,不过太久没用了我也的确把$忘记了,以前的话都是把$当作变量或者空格用的

输进去之后看看源代码就看到key了