[{"createTime":1735734952000,"id":1,"img":"hwy_ms_500_252.jpeg","link":"https://activity.huaweicloud.com/cps.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905","name":"华为云秒杀","status":9,"txt":"华为云38元秒杀","type":1,"updateTime":1735747411000,"userId":3},{"createTime":1736173885000,"id":2,"img":"txy_480_300.png","link":"https://cloud.tencent.com/act/cps/redirect?redirect=1077&cps_key=edb15096bfff75effaaa8c8bb66138bd&from=console","name":"腾讯云秒杀","status":9,"txt":"腾讯云限量秒杀","type":1,"updateTime":1736173885000,"userId":3},{"createTime":1736177492000,"id":3,"img":"aly_251_140.png","link":"https://www.aliyun.com/minisite/goods?userCode=pwp8kmv3","memo":"","name":"阿里云","status":9,"txt":"阿里云2折起","type":1,"updateTime":1736177492000,"userId":3},{"createTime":1735660800000,"id":4,"img":"vultr_560_300.png","link":"https://www.vultr.com/?ref=9603742-8H","name":"Vultr","status":9,"txt":"Vultr送$100","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":5,"img":"jdy_663_320.jpg","link":"https://3.cn/2ay1-e5t","name":"京东云","status":9,"txt":"京东云特惠专区","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":6,"img":"new_ads.png","link":"https://www.iodraw.com/ads","name":"发布广告","status":9,"txt":"发布广告","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":7,"img":"yun_910_50.png","link":"https://activity.huaweicloud.com/discount_area_v5/index.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=aXhpYW95YW5nOA===&utm_medium=cps&utm_campaign=201905","name":"底部","status":9,"txt":"高性能云服务器2折起","type":2,"updateTime":1735660800000,"userId":3}]
<>YXcms(MVC)
YXcms 1.4.7
<>熟悉MVC架构
路由方式
通过一个 r 的文件指针进行路由
参数传递
in($_GET[])
...... public function test() { $param=in($_GET['a']); var_dump($param); } ....
..
$_GET 接收值,通过 in 进行过滤
in 函数
//数据过滤函数库 /* 功能:用来过滤字符串和字符串数组,防止被挂马和sql注入 参数$data,待过滤的字符串或字符串数组,
$force为true,忽略get_magic_quotes_gpc */ function in($data,$force=false){ if(
is_string($data)){ $data=trim(htmlspecialchars($data));//防止被挂马,跨站攻击 if(($force==
true)||(!get_magic_quotes_gpc())) { $data = addslashes($data);//防止sql注入 } return
$data; } else if(is_array($data)) { foreach($data as $key=>$value){ $data[$key]=
in($value,$force); } return $data; } else { return $data; } }
可以看到函数并不能防止 int 型注入,也没有对数组的键进行过滤
<>增删改查
查
# default/indexController.php <?php class indexController extends
commonController { public function test() { $id = in($_GET['id']); $result =
model('user')->find("id={$id}"); var_dump($result); } ......
增
public function test() { $data=['username'=>'ocean2','password'=>'ocean2'];
$result=model('user')->insert($data); var_dump($result); }
改
public function test() { $id = in($_GET['id']); $data=['username'=>'nc000eee',
'password'=>'nce000ee']; $result=model('user')->update("id={$id}",$data);
var_dump($result); }
删
public function test() { $id = in($_GET['id']); $result=model('user')->delete(
"id={$id}"); var_dump($result); }
<>漏洞
数字注入
insert注入
后台任意文件删除
<>任意文件写入
XSS
前台留言处存在 xss
存入时会进行过滤
但是后台审核处会将其还原
…(img-lpIJx1y6-1617631219454)]
存入时会进行过滤
但是后台审核处会将其还原
[外链图片转存中…(img-6LOyjGnD-1617631219455)]
[外链图片转存中…(img-nZ2k7yOy-1617631219456)]