Day1 Getflag

day1

Day1 Getf…

分析目标站点

拿到一个目标站点之后要分析它属于什么类的网站(如购物类,股市类,娱乐类,某一公司或学校官网等)

随后在目标网站中点点点,率先考虑的就是后台,毕竟他的后台登陆就放在这写这,如果弱口令进去了就会省很多事情

很显然该题目不是让我们利用弱口令登录后台拿flag的,我尝试了admin/admin,admin/123456等均未成功

此时就要重新看到前端页面,发现在公司简介中看到疑似可以sql注入的url

接着使用id=2-1发现成功回显id=1时候相同的页面,可以初步判断为数字型注入,后端php代码实际上为select * from users where id=$input,此时未作任何过滤,即可实现sql注入

先用order by判断数据库中的列数,发现到3时返回错误,可以得知该数据一共有两列

(其实这个时候就能很明白这个网站的数据库采用的是 id article 的形式,id是几就在这个表中查询id为几的文章返回给前端)

随后使用union select来判断可回显的数据,id=1 union select 1,2发现页面无变化,怀疑是前端本身所渲染页面的问题,将1改为-1,即可回显

id=1 union select 1,database();得到数据库为company_website

随后接着id=-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database();得到该数据库中的三个表,当然我们最关注的肯定还是users表

接下来获取字段名 id=-1 union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=’users’;得到三个字段名

接下来获取password的值:id=-1 union select 1,group_concat(password) from users;

账号也是同理获得,最后得到账号密码为admin/ad@min123

使用该账号密码登陆后台,登陆成功后发现后台有文件上传功能

直接用哥斯拉生成一个木马就好了,或者可以自己手写一个一句话木马,用哥斯拉蚁剑等都可链接,这里我直接用哥斯拉生成了

这边显示上传成功,这里只是靶场,如果是真是网站的话肯定不可能那么轻松,要么修改文件头,要么使用图片马等(其实真实网站中连后台都不好拿下)

接着我们使用哥斯拉去连接这个路径

这个时候我们就成功进入该网站的后台啦,也就是管理员用户了

这里补充一个小知识点,在根目录中如果发现.dockerenv文件则证明它是在docker容器中开的网站,与真实主机无关联,也就是说拿到docker容器的权限并没有什么用,如果在真实渗透环境中遇到这种情况需要考虑容器逃逸操作,也就是说试图从容器环境转换到目标的真实主机环境,由于本章节仅仅是为了拿flag所以不做过多演示,具体想要了解容器逃逸的可以去网上搜索或者等我后面更新喔。

这里我们就成功拿到flag了,本靶场结束。

感谢观看🌹

Moonlight

335213922@qq.com

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注