CG-CTF 综合题2(sql注入绕过、注入技巧、preg_replace()漏洞)☆

本文详细介绍了在CG-CTF挑战中如何通过SQL注入和preg_replace()漏洞进行渗透测试。首先通过信息收集,发现可注入点在so.php和about.php,接着分析代码,利用antiinject.php绕过过滤,执行SQL查询获取admin表信息。最后,利用preg_replace()漏洞执行任意代码,成功获取flag。
摘要由CSDN通过智能技术生成

这道题确实综合性挺强的。

1、老程序,先收集信息。

页面可以输入的地方可以输入些信息试试,搜索框输入1,会转到so.php,这里是有sql查询的。
留言的地方,输入可以转到preview.php,预览之后转到say.php。
最下面有个“本CMS说明”,这个点击之后会得到更多的信息:

config.php
index.php
passencode.php
say.php
sm.txt
还给了我们admin表的信息:
create table admin ( id integer, username text, userpass text, )

看url可以看到:about.php?file=sm.txt,这里又给出了一个about.php,而且有个file传参,页面对sm.txt的说明:sm.txt:本CMS的说明文档。
说明这里是读取了sm.txt,我们可以尝试读取其余的文件内容。
config.php无法读取。
passencode.php读取到如下内容:

<?php 
function passencode($content){ //
	$pass=urlencode($content); 
	$array=str_split($content); 
	$pass=""; 
	for($i=0;$i<count($array);$i++){ 
		if($pass!=""){ 
			$pass=$pass." ".(string)ord($array[$i]); 
		}else{ 
			$pass=(string)ord($array[$i]); 
		} 
	} 
	return $pass; 
} 
?>

so.php的读取:

<?php //so.php
if($_SERVER['HTTP_USER_AGENT']!="Xlcteam Browser"){
echo '万恶滴黑阔,本功能只有用本公司开发的浏览器才可以用喔~';
    exit();
}
$id=$_POST['soid
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值