shell | 检索某url中所有文件的内容

2022-10-25 17:01:42 浏览数 (1)

前言#

cve 官网或者工信部会发布一些 cve 漏洞,可以看到该漏洞在某次 commit 提交代码后修复的,可以通过检索 kernel.org 中所有内核版本的 ChangeLog 文件中是否包含该 commit 来判断漏洞影响的内核版本(仅针对 linux 的 kernel 相关的漏洞)

脚本#

代码语言:javascript复制
#!/bin/bash
# author: lvbibir
# date:   2022-06-23
# 检索 kernel.org 下的所有 ChangeLog 文件,是否包含某项特定的 commit 号

commit='520778042ccca019f3ffa136dd0ca565c486cedd'
version=4
number=0

curl  -ks https://cdn.kernel.org/pub/linux/kernel/v$version.x/  > list_$version
cat list_$version | grep Change | grep -v sign | awk -F" '{print $2}' > list_$version_cut

total=`wc -l list_$version_cut | awk '{print $1}'`

while read line; do

    let 'number =1'
    url="https://cdn.kernel.org/pub/linux/kernel/v$version.x/$line"

    echo -e "33[31m---------------------正在检索$url----------------第$number 个文件,共$total 个文件33[0m"

    curl -ks $url | grep $commit

    if [ $? -eq 0 ]; then
        echo $url >> ./result_$version
    fi

done < ./list_$version_cut

echo -e "33[32m脚本执行完成,结果已保存至当前目录的 result_$version 33[0m"

0 人点赞