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()变量覆盖
修复: 不要让函数名为用户可控或者禁止危险函数使用