10.代码审计

1. web 301

Pasted image 20250803215037.png
简单的sql注入
Pasted image 20250803215643.png
直接梭哈

2. web302

这里修改了密码匹配的地方

#原来的
if(!strcasecmp($userpwd,$row['sds_password'])){

#现在的
if(!strcasecmp(sds_decode($userpwd),$row['sds_password'])){

就是做了一个 sds_decode($userpwd)
对应的函数

<?php
function sds_decode($str){
	return md5(md5($str.md5(base64_encode("sds")))."sds");
}
?>

函数有点小复制,但是我们可以直接运行获取到输出

<?php
function sds_decode($str){
	return md5(md5($str.md5(base64_encode("sds")))."sds");
}
$a=sds_decode("1");
echo $a;
?>

3. web 303

Pasted image 20250804094502.png
数据库多了一条账号 和加密后的密码
Pasted image 20250804094736.png
加密函数
Pasted image 20250804095028.png
它自己就输出了 admin 的加密值,结果与数据库中的密码密文相同
Pasted image 20250804095350.png
说明账号密码都是 admin

进来后还需要进行注入
Pasted image 20250804095741.png
访问dpt.php 可以进行新增、编辑操作
Pasted image 20250804100424.png
Pasted image 20250804101423.png

4. web304

相比303加了全局waf

function sds_waf($str){
	return preg_match('/[0-9]|[a-z]|-/i', $str);
}

就是加了一个匹配 0-9 a-z -
但是没卵用,还是可以跑出来