草庐IT

渗透实录-01

cHr1s 2023-03-28 原文

写在前面

一次测试中遇到一个有趣的站点,写出来与君分享。

摸点阶段

打开站点,php+mysql的常见组合,FreeBSD作为其后端服务器,网站功能简单,只有几个登录口存在动态传参,着实简陋,万能密码尝试无果后直接祭出dirsearch。

得到一个info.php(phpinfo)外加一个phpmyadmin

打开phpmyadmin发现是401认证登录,并且版本非常低,为2.6.1,这个版本存在一个绕过登录漏洞:用户名:localhost'@'@',密码空,测试了下确实可以登录,但是权限太低什么都干不了,鸡肋。

简单手工尝试弱口令,直接以用户名root密码空登录成功。(一开始以为是漏洞,后来发现密码真的是空,手动汗颜=.=)

到这里基本上算获得了半个webshell了,运气着实不错。phpmyadmin+root权限的话可以直接写shell或者日志getshell,但是还差个绝对路径,回到站点首页疯狂尝试后没能得到绝对路径。(当局者迷,前面有个phpinfo这里忘记利用了)

于是换个思路,从数据库中找到网站管理员账号密码,登进后台,找个上传的地方直接传马,没有任何过滤,因为直接传的是哥斯拉加密的shell,所以不确定有没有waf,然后就shell了,过程没有一丝波澜,过于简单就不贴图了。(不要问我后台在哪,首页“管理区”几个大字)

代码审计

简单搜了一下网上有几套一样的模板,于是决定简单审一下这套代码。

快速审计的话无非就是全局搜几个关键字,比如uploadfwriteevalsystemselectinsertfile_put_content等等,然后代码里面分析一下有没有被过滤,如果没有再尝试构造语句或者数据包来验证。

把源码打包下回来,本地解压,用编辑器打开文件夹,然后全局搜关键字,发现以下几个漏洞:

1.任意文件读取导致的getshell

先上代码:

表面上看上去这里有个任意文件上传,但是目录不可控,上传的文件都到tmp目录下了,没啥大用。仔细一看,代码里发现使用了readfile函数,这个函数基本等于命令行的catls,读一个/etc/passwd,构造发包测试如下图:

成功读出来了,那么思路也就有了。直接读取mysql的配置文件,然后登录phpmyadmin,战斗就结束了。

2.sql注入

简单看了一下,这套源码的注入非常多,但是基本都是登录后的功能,用处不大,唯一一处登录前的注入如下:

$ID没经过过滤直接传进sql语句执行,但是测试的时候发现有waf,此洞G。

写在最后

后利用任意文件读取在其他站点也复现成功,代码比较有年代感,漏洞应该比较多,时间关系没有深挖,留给下一个有缘人吧。

有关渗透实录-01的更多相关文章

  1. python - 这些脚本语言中哪种更适合渗透测试? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion首先,我想避免一场关于语言的口水战。可供选择的语言有Perl、Python和Ruby。我想提一下,我对所有这些都很满意,但问题是我不能只专注于一个。例如,如果我看到一个很棒的Perl模块,我必须尝试一下。如果我看到一个不错的Python应用程序,我必须知道它是如何制作的。如果我看到RubyDSL或一些Ruby巫术,我就会迷上Ruby一段时间。目前我是一名Java开发人员,但计划在不久的将来

  2. day1-数组part01| 704. 二分查找、27. 移除元素 - 2

    数组理论基础数组是存放在连续内存空间上的相同类型数据的集合。数组下标从0开始数组内存空间的地址是连续的c++中vector和array的区别1、vector是顺序容器,其利用连续的内存空间来存储元素,但是其内存空间大小是能够改变的。2、array是顺序容器,其也是利用连续的内存空间来存储元素,但它的内存空间是固定大小的,申请之后就无法改变。3、vector的底层是array实现的二维数组二维数组在内存的空间地址是连续的704|二分查找思路1、把整个数组一分为二;2、判断目标值在左区间还是右区间,若在左区间,则修改右区间指针的位置;若在右区间,则修改新区间的左区间位置3、重复上述过程,直到lef

  3. 中职组网络安全2023年山东省省赛Linux 系统渗透提权 - 2

            B-3:Linux系统渗透提权任务环境说明:服务器场景:Server2204(关闭链接)用户名:hacker密码:123456使用渗透机对服务器信息收集,并将服务器中SSH服务端口号作为flag提交;Flag:2283/tcp使用渗透机对服务器信息收集,并将服务器中主机名称作为flag提交;Flag:KipZ1eze使用渗透机对服务器信息收集&

  4. Kali渗透测试:网络数据的嗅探与欺骗 - 2

    Kali渗透测试:网络数据的嗅探与欺骗无论什么样的漏洞渗透模块,在网络中都是以数据包的形式传输的,因此如果我们能够对网络中的数据包进行分析,就可以掌握渗透的原理。另外,很多网络攻击的方法也都是发送精心构造的数据包来完成的,如常见的ARP欺骗。利用这种欺骗方式,黑客可以截获受害计算机与外部通信的全部数据,如受害者登录使用的用户名与密码、发送的邮件等。“Thequieteryouarethemoreyouareabletohear”(你越安静,你能听到的越多)。如使用HTTP、FTP或者Telnet等协议所传输等数据都是明文传输的,一旦数据包被监听,里面的信息就会被泄漏。而这一切并不难做到,任何一

  5. javascript - 具有 0.01 个步骤的数字输入为 angularjs 中的某些值提供未定义 - 2

    在angularjs(1.6.1)中使用该类型的输入,为9.03到9.05之间的值提供undefined。使用其他值时会重现此问题,其中包括9.62、9.63、17.31。这fiddle重现问题。只需在数字输入中单击向上即可。在linuxmint18下的firefox和chromium上测试。它似乎链接到"step"属性。如果设置为"0.001"就没有问题。但是我在这个应用程序中威胁金钱,所以需要2位小数。注意:如果值最初通过data-numeric-value设置为9.03,则它不是未定义.这个错误有什么解决方法吗?编辑已更新fiddle显示step="0.01"与step="0.0

  6. 网络安全渗透测试实验一 - 2

    1.实验目的和要求理解网络扫描、网络侦察的作用;通过搭建网络渗透测试平台,了解并熟悉常用搜索引擎、扫描工具的应用,通过信息收集为下一步渗透工作打下基础。系统环境:KaliLinux2、Windows网络环境:交换网络结构实验工具:Metasploitable2(需自行下载虚拟机镜像);Nmap(Kali);WinHex、数据恢复软件等实验步骤1、用搜索引擎Google或百度搜索麻省理工学院网站中文件名包含“networksecurity”的pdf文档,截图搜索得到的页面。答:利用搜索引擎语言就能找到符合题目要求的文档。2、照片中的女生在哪里旅行?截图搜索到的地址信息。答:可以注意到图片中出现最

  7. javascript - (新日期 ('2012-12-01' )).getMonth() === 10? - 2

    (newDate('2012-12-01')).getMonth()是10而不是11(getMonth是从0开始索引的)。我已经在Firefox、Chrome和Node.js上进行了测试。为什么会这样? 最佳答案 您遇到时区问题。您的JS引擎将字符串解释为UTC,因为它没有进一步指定。来自specificationofDate.parse(由newDate使用):TheStringmaybeinterpretedasalocaltime,aUTCtime,oratimeinsomeothertimezone,dependingont

  8. 【SpringBoot项目】SpringBoot项目-瑞吉外卖【day01】 - 2

    文章目录前言软件开发整体介绍软件开发流程瑞吉外卖项目介绍项目介绍产品原型展示技术选型功能架构角色开发环境搭建数据库环境搭建maven项目搭建设置静态资源映射后台登录需求分析代码开发功能测试后台退出需求分析代码开发功能测试🌕博客x主页:己不由心王道长🌕!🌎文章说明:SpringBoot项目-瑞吉外卖【day01】🌎✅系列专栏:SpringBoot项目🌴本篇内容:对黑马的瑞吉外卖项目的day01进行笔记和项目实现🌴☕️每日一语:人有退路,就有些许安全感。等到哪一天,你真没了退路,你就发现眼前哪条路都能走,也能通。☕️🚩交流社区:己不由心王道长(优质编程社区)前言从今天开始,正式进入项目阶段。本次的

  9. t01_idea消除的白框 - 2

    消除idea顶部窗口上的白色标题栏点击Hlep,找到EditCustomVMOptions...点击添加下面一段话(如果有责显示为false责改为true):-Dide.win.frame.decoration=true然后重启即可,如下图所示,顶部白框已经没有出现了

  10. Python 微信自动化工具开发系列01_自动获取微信聊天信息(2023年1月可用) - 2

    前言一个需求需要利用Python+第三方库wxauto用于微信上自动获取聊天信息,从而根据自己需求对信息自动进行二次处理,比如自动回复,再比如自动发送文件或者其他。这边使用Python的第三方库`wxauto`来进行开发,而不是`itchat` ---记录于2022年07月 ---2023年1月再次测试可用使用Python3的第三方库wxauto,它适用于Windows的微信客户端官网:https://github.com/cluic/wxauto原因这边使用wxauto来进行开发,而不是itchat,原因如下itchat都是之前的教

随机推荐