JA-awd-beecms

1.sql注入写shell

admin\login.php
在这里插入图片描述
萌新被坑,后端有过滤危险字符,连着空格一起过滤,要注意单词间的空格。

在这里插入图片描述

在这里插入图片描述
代码分析:

在这里插入图片描述
fl_value()函数过滤危险字符
在这里插入图片描述
fl_html函数把把一些预定义的字符转换为 HTML 实体:
& (和号)成为 &
" (双引号)成为 "
’ (单引号)成为 ’
< (小于)成为 <
> (大于)成为 >
在这里插入图片描述
check_login()函数
在这里插入图片描述
可以用hex编码或者char()函数绕过fl_html()函数

<?php @eval($_POST[cmd]);?>

hex编码为:

3c3f70687020406576616c28245f504f53545b636d645d293b3f3e

Payload:
在这里插入图片描述
修复:Addslashes()转义函数,最好还是pdo吧。

2.登录处存在弱口令admin/admin

3.XSS(多个个地方存在xss)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
Xss一个重要利用就是获取cookie,这个网站没有设置HttpOnly属性,导致可以通过js代码获取cookie
在这里插入图片描述
修复:
1.html实体编码
2.过滤危险字符< > <script> <iframe> onerror onclick等
3.设置cookie的HTTP only属性

4.文件上传(多处存在)

改.php后缀为.jpg绕过前端,抓包改.php
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修复:1.后端白名单检测后缀名2.对上传的文件重命名,并自动添加后缀

5.任意url跳转漏洞

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修复:白名单校验是否为预期域名

6.session覆盖

网上百度了 一下这个cms,以前爆出过sql注入和session覆盖漏洞。看看源码:
Includes\init.php
在这里插入图片描述
admin\init.php
在这里插入图片描述
Includes\fun.php
check_login()设置session里的值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.extract()变量覆盖

在这里插入图片描述

在这里插入图片描述
修复: 不要让函数名为用户可控或者禁止危险函数使用

发布了27 篇原创文章 · 获赞 8 · 访问量 8260

猜你喜欢

转载自blog.csdn.net/weixin_41652128/article/details/90771439
AWD
Ja