项目结构1 2 3 4 5 6 ╰─➤ ls -l total 408 drwxr-xr-x 9 aresx staff 288 2 20 11:50 VulWiki -rw-r--r--@ 1 aresx staff 140136 2 20 11:51 _sidebar.md -rw-r--r--@ 1 aresx staff 1895 11 3 23:49 index.html -rwxr-xr-x 1 aresx staff 1025 10 16 13:30 sidebar.sh
复制到index.html 同级目录下执行
注意:修改25行root_dir
中的目录为存储Markdown文件的目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 #!/bin/bash IFS=$(echo -en "\n\b" ) function getdir (){ for element in `ls -1 $1 ` do dir_or_file=$1 "/" $element counter=`echo $dir_or_file | grep -o / | wc -l` let counter-=2 if [ -d $dir_or_file ] ; then printf '%0.s ' $(seq 0 $counter ) >> _sidebar.md echo "- $element " >> _sidebar.md getdir $dir_or_file else echo $dir_or_file printf '%0.s ' $(seq 0 $counter ) >> _sidebar.md path=`echo $dir_or_file | sed "s/[ ]/%20/g" | sed "s/[+]/%2B/g" ` title=`echo $element | sed "s/.md//" ` echo "- [$title ](./$path )" >> _sidebar.md fi done } root_dir=`ls -d VulWiki/*/` :> _sidebar.md for dir in $root_dir do if [ "$dir " = "." ] then continue else C1=`echo $dir | cut -f2 -d '/' ` echo "- $C1 " | cut -f2 -d '/' >> _sidebar.md getdir `echo $dir | sed s'/.$//' ` fi done
脚本会依次递归扫描root_dir下的目录中的所有Markdown文件
1 2 ╰─➤ ls -d VulWiki/*/ VulWiki/IOT安全/ VulWiki/Web安全/ VulWiki/系统安全/
并且针对文件名中的空格和+号进行了处理,避免出现链接无法点击的问题
效果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 - IOT安全 - 360 - [360 Phone N6 Pro内核漏洞](./VulWiki/IOT安全/360/360%20Phone%20N6%20Pro内核漏洞.md) - Amazon Kindle Fire HD (3rd) - [(CVE-2018-11019)Amazon Kindle Fire HD (3rd) Fire OS kernel组件安全漏洞](./VulWiki/IOT安全/Amazon%20Kindle%20Fire%20HD%20(3rd)/(CVE-2018-11019)Amazon%20Kindle%20Fire%20HD%20(3rd)%20Fire%20OS%20kernel组件安全漏洞.md) - Huawei - [(CVE-2016-6158)华为WS331a产品管理页面存在CSRF漏洞](./VulWiki/IOT安全/Huawei/(CVE-2016-6158)华为WS331a产品管理页面存在CSRF漏洞.md) - JCG - [JCG路由器命令执行漏洞](./VulWiki/IOT安全/JCG/JCG路由器命令执行漏洞.md) - PHICOMM - [(CVE-2019-19117)PHICOMM 远程代码执行](./VulWiki/IOT安全/PHICOMM/(CVE-2019-19117)PHICOMM%20远程代码执行.md) - Samsung - [(CVE-2017-14262)Samsung NVR devices 漏洞](./VulWiki/IOT安全/Samsung/(CVE-2017-14262)Samsung%20NVR%20devices%20漏洞.md) - Sapido - [Sapido多款路由器命令执行漏洞&突破](./VulWiki/IOT安全/Sapido/Sapido多款路由器命令执行漏洞&突破.md) - TP-Link - [(CVE-2017-16957)TP-Link 命令注入漏洞](./VulWiki/IOT安全/TP-Link/(CVE-2017-16957)TP-Link%20命令注入漏洞.md) - [(CVE-2020-9374)TP-Link TL-WR849N 远程命令执行漏洞](./VulWiki/IOT安全/TP-Link/(CVE-2020-9374)TP-Link%20TL-WR849N%20远程命令执行漏洞.md) - 小米 - [(CVE-2019-18370)Xiaomi Mi WiFi R3G 远程命令执行漏洞](./VulWiki/IOT安全/小米/(CVE-2019-18370)Xiaomi%20Mi%20WiFi%20R3G%20远程命令执行漏洞.md) - [(CVE-2019-18371) Xiaomi Mi WiFi R3G 任意文件读取漏洞](./VulWiki/IOT安全/小米/(CVE-2019-18371)%20Xiaomi%20Mi%20WiFi%20R3G%20任意文件读取漏洞.md) - Web安全 - 74cms - [74cms v4.2.1 - v4.2.129-后台getshell漏洞](./VulWiki/Web安全/74cms/74cms%20v4.2.1%20-%20v4.2.129-后台getshell漏洞.md) - [74cms v4.2.126-通杀sql注入](./VulWiki/Web安全/74cms/74cms%20v4.2.126-通杀sql注入.md) - [74cms v4.2.126-前台四处sql注入](./VulWiki/Web安全/74cms/74cms%20v4.2.126-前台四处sql注入.md) - [74cms v6.0.48模版注入+文件包含getshell](./VulWiki/Web安全/74cms/74cms%20v6.0.48模版注入%2B文件包含getshell.md) - [(CVE-2019-11374)74cms v5.0.1 后台跨站请求伪造(CSRF)漏洞](./VulWiki/Web安全/74cms/(CVE-2019-11374)74cms%20v5.0.1%20后台跨站请求伪造(CSRF)漏洞.md) - ATutor - [(CVE-2019-12169)ATutor学习内容管理系统 任意文件上传漏洞](./VulWiki/Web安全/ATutor/(CVE-2019-12169)ATutor学习内容管理系统%20任意文件上传漏洞.md) - ActiveMQ - [ActiveMQ物理路径泄漏漏洞](./VulWiki/Web安全/ActiveMQ/ActiveMQ物理路径泄漏漏洞.md) - [(CVE-2015-1830)ActiveMQ 路径遍历导致未经身份验证的rce](./VulWiki/Web安全/ActiveMQ/(CVE-2015-1830)ActiveMQ%20路径遍历导致未经身份验证的rce.md) - [(CVE-2015-5254)ActiveMQ 反序列化漏洞](./VulWiki/Web安全/ActiveMQ/(CVE-2015-5254)ActiveMQ%20反序列化漏洞.md) - [(CVE-2016-3088)ActiveMQ应用漏洞](./VulWiki/Web安全/ActiveMQ/(CVE-2016-3088)ActiveMQ应用漏洞.md) - [(CVE-2017-15709)ActiveMQ 信息泄漏漏洞](./VulWiki/Web安全/ActiveMQ/(CVE-2017-15709)ActiveMQ%20信息泄漏漏洞.md) - Adminer - [Adminer 任意文件读取漏洞](./VulWiki/Web安全/Adminer/Adminer%20任意文件读取漏洞.md) - 新点网络协同办公系统 - [新点OA V7.0 V8.0 Getshell](./VulWiki/Web安全/新点网络协同办公系统/新点OA%20V7.0%20V8.0%20Getshell.md) - 系统安全 - Linux - Linux本地提权漏洞 - [(CVE-2015-1328)Ubuntu Linux内核本地提权漏洞](./VulWiki/系统安全/Linux/Linux本地提权漏洞/(CVE-2015-1328)Ubuntu%20Linux内核本地提权漏洞.md) - [(CVE-2016-5195)脏牛Linux 本地提权](./VulWiki/系统安全/Linux/Linux本地提权漏洞/(CVE-2016-5195)脏牛Linux%20本地提权.md) - [(CVE-2017-16995)Ubuntu 内核提权](./VulWiki/系统安全/Linux/Linux本地提权漏洞/(CVE-2017-16995)Ubuntu%20内核提权.md) - [(CVE-2019-14287)sudo提权漏洞](./VulWiki/系统安全/Linux/Linux本地提权漏洞/(CVE-2019-14287)sudo提权漏洞.md) - Linux远程溢出漏洞 - [(CVE-2017-7494)Linux Samba 远程代码执行](./VulWiki/系统安全/Linux/Linux远程溢出漏洞/(CVE-2017-7494)Linux%20Samba%20远程代码执行.md) - Windows - Windows本地提权漏洞 - [(CVE-2016-0099)【MS16-32】 windows 本地提权漏洞](./VulWiki/系统安全/Windows/Windows本地提权漏洞/(CVE-2016-0099)【MS16-32】%20windows%20本地提权漏洞.md) - [(CVE-2016-3225)【MS16-075】 JuicyPotato windows 本地提权漏洞](./VulWiki/系统安全/Windows/Windows本地提权漏洞/(CVE-2016-3225)【MS16-075】%20JuicyPotato%20windows%20本地提权漏洞.md) - [(CVE-2020-1472)Windows Zerologon域提权漏洞](./VulWiki/系统安全/Windows/Windows本地提权漏洞/(CVE-2020-1472)Windows%20Zerologon域提权漏洞.md) - Windows远程溢出漏洞 - [(CVE-2008-4250)【MS08-067】Windows远程溢出漏洞](./VulWiki/系统安全/Windows/Windows远程溢出漏洞/(CVE-2008-4250)【MS08-067】Windows远程溢出漏洞.md) - [(CVE-2017-0143........)【MS17-010】Windows 远程溢出漏洞](./VulWiki/系统安全/Windows/Windows远程溢出漏洞/(CVE-2017-0143........)【MS17-010】Windows%20远程溢出漏洞.md) - [(CVE-2019-0708) Windows 远程溢出漏洞](./VulWiki/系统安全/Windows/Windows远程溢出漏洞/(CVE-2019-0708)%20Windows%20远程溢出漏洞.md) - [(CVE-2020-0796) Windows 远程溢出漏洞](./VulWiki/系统安全/Windows/Windows远程溢出漏洞/(CVE-2020-0796)%20Windows%20远程溢出漏洞.md)