攻防世界 ics-07 题

攻防世界 ics-07 题

写在txt里当笔记太不方便了= =以后还是写这儿吧

1.打开首页是这样子
攻防世界 ics-07 题_第1张图片
2.看那个提示,一开始我还以为是直接view-source,没想到那个是个超链接= =点它,出现源码
攻防世界 ics-07 题_第2张图片
3.审计一下,利用点在这儿:
攻防世界 ics-07 题_第3张图片
4.但是session我们无法自己伪造,看下面的代码:
攻防世界 ics-07 题_第4张图片
5.看到sql就想注入= =但是这里宽字节并不行。看一下这句,只要result有值我们就可以上传文件了
攻防世界 ics-07 题_第5张图片
6.然后看一下进入sql查询的条件:
在这里插入图片描述
7.这里3个条件:id存在;id的值转为浮点数且不完全等于1;假如$a=1,$b=‘1’,$a!=$b不成立但是$a!==$b成立。
最后一位是9;这里的绕过:id=1(9 1-9 1sa9之类的都行,只要1和9之间有字符就行,然后发现:

攻防世界 ics-07 题_第6张图片
8.接下来准备上传文件了,看一下代码,简单说一下:
攻防世界 ics-07 题_第7张图片
先把文件名拼接到backup目录下,然后正则匹配,这里正则的意思:匹配最后一个点后面的后缀,然后下面的else里面又更改了当前目录。

9.开始上传:更改为post方式,con是一句话,因为上面的正则,而且又是linux系统,所以file=6.php/. 因为是linux系统,所以像windows下那样上传1.php. 不会解析的
攻防世界 ics-07 题_第8张图片

10.蚁剑连接的时候注意路径:url/uploaded/backup/6.php
攻防世界 ics-07 题_第9张图片
攻防世界 ics-07 题_第10张图片

你可能感兴趣的:(CTF,代码审计)