ONENAV小白级代审

admin 2022年12月20日00:38:43评论24 views字数 1923阅读6分24秒阅读模式

一、信息泄露
安装

if( !file_exists('./data/config.php') ) {    exit('<h3>配置文件不存在,请将站点目录下的config.simple.php复制为data/config.php</h3>');}//检查数据库是否存在,不存在则复制数据库if( !file_exists('./data/onenav.db3') ) {    copy('db/onenav.simple.db3','data/onenav.db3');    // copy('db/.htaccess','data/.htaccess');} //载入配置文件require("./data/config.php"); //根据不同的请求载入不同的方法//如果没有请求控制器if((!isset($c)) || ($c == '')){    //载入主页    include_once("./controller/index.php"); } else{    include_once("./controller/".$c.'.php');}

默认数据库路径 'data/onenav.db3'
修复方案:
https://www.yuque.com/helloz/onenav/install#ImLOx
如果您使用得Nginx,请务必将以下规则添加到站点配置中,否则数据库可能被下载(非常危险):

#安全设置location ~* ^/(class|controller|db|data|functions|templates)/.*.(db3|php|php5)$ {    return 403;}location /db {        deny all;}

伪静态

rewrite ^/click/(.*) /index.php?c=click&id=$1 break;

rewrite ^/api/(.)?(.) /index.php?c=api&method=$1&$2 break;

rewrite /login /index.php?c=login break;

如果使用得Apache则无需设置,已内置.htaccess进行屏蔽。

二、SSRF

ONENAV小白级代审

如果url合法,直接通过curl访问。未检测链接是否在内网。以及一些请求协议控制。

三、XSS
1、CVE-2021-38138
未过滤参数

function add_link($api){    //add_link($token,$fid,$title,$url,$description = '',$weight = 0,$property = 0)    //获取token    $token = $_POST['token'];     //获取fid    $fid = intval(@$_POST['fid']);    $title = $_POST['title'];    $url = $_POST['url'];    $description = empty($_POST['description']) ? '' : $_POST['description'];    $weight = empty($_POST['weight']) ? 0 : intval($_POST['weight']);    $property = empty($_POST['property']) ? 0 : 1;     $api->add_link($token,$fid,$title,$url,$description,$weight,$property); }

未对title过滤,导致XSS存在

修复方案:

实体化相关参数,正则匹配过滤等增加过滤方式

2、跨域的XSS存储漏洞

ONENAV小白级代审

直接获取网站标题、描述,未进行任何过滤,只要在被添加的网站标题或描述上写上payload就能进行XSS攻击。

修复方案:

实体化相关参数,正则匹配过滤等增加过滤方式

四、弱鉴权

ONENAV小白级代审

auth函数功能:设置token 其算法是 md5(用户名+TOKEN) 其中的 TOKEN值在设置中是默认值为:xiaoz.me

config.php:
ONENAV小白级代审

所以,我们只需要知道用户名就能进行未授权操作,制作token,实现api调用从而控制后台例如利用XSS获取其cookie,cookie生成方式无时间校验,在不改密码的情况下可一直用,进入后台管理界面(有token跟管理员一样了,打XSS是方便持久控制。其他的无意义) token放post请求里

猜一波token:

默认用户:xiaoz

token:7860b4762c20b1496ca027882d945ad7

用户admin

token:92234ece708b0cd6f3c2d9e8fcde010f

修复方案:

改默认的TOKEN值

很久前审的一个站,洞多到不好意思提cve。适合新手练练。

本文作者为古酒道人

原文始发于微信公众号(重生者安全团队):ONENAV小白级代审

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月20日00:38:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ONENAV小白级代审http://cn-sec.com/archives/1473855.html

发表评论

匿名网友 填写信息