Curl 如何在网站源代码中grep多行注释?
我是一名渗透测试人员,正在为目标URL上的基本web应用程序枚举(收集所有链接、电子邮件地址、表单字段参数和注释)编写工具 使用Curl 如何在网站源代码中grep多行注释?,curl,awk,sed,grep,Curl,Awk,Sed,Grep,我是一名渗透测试人员,正在为目标URL上的基本web应用程序枚举(收集所有链接、电子邮件地址、表单字段参数和注释)编写工具 使用curl我能够从目标URL的源代码中获得单行注释 以下显示了所有单行注释: curl <url> -s -L | grep '<!--.*-->' | sed -e 's/^[[:space:]]*//' curl-s-L | grep'| sed-e's/^[:space:][]*/' 我在尝试grep多行注释时遇到问题 我如何使用curl
curl
我能够从目标URL的源代码中获得单行注释
以下显示了所有单行注释:
curl <url> -s -L | grep '<!--.*-->' | sed -e 's/^[[:space:]]*//'
curl-s-L | grep'| sed-e's/^[:space:][]*/'
我在尝试grep多行注释时遇到问题
我如何使用
curl
+grep
实现这一点?或者awk
/sed
是更好的选择吗?您可以使用sed的/regexp/,/regexp/
范围:
curl...|sed -n '/<!--/,/-->/p'
curl…| sed-n'//p'
您可以使用sed的/regexp/,/regexp/
范围:
curl...|sed -n '/<!--/,/-->/p'
curl…| sed-n'//p'
使用正则表达式解析HTML或XML文件基本上没有完成。诸如sed
和awk
之类的工具对于处理文本文件来说非常强大,但当它归结为解析复杂的结构化数据(如XML、HTML、JSON等)时他们不过是一把大锤。是的,你可以完成这项工作,但有时要付出巨大的代价。为了处理如此精细的文件,您需要使用一组更有针对性的工具,从而更加精巧
在解析XML或HTML时,可以很容易地使用
对于XHTML文件,您可以使用:
$ curl ... | xmlstarlet sel --html -t -m '//comment()' -v . -n
然而,由于HTML页面通常不是格式良好的XML,因此使用XML稍微清理一下可能会很方便。在上述示例中,这将给出:
$ curl ... | tidy -q -numeric -asxhtml --show-warnings no \
| xmlstarlet sel --html -t -m '//comment()' -v . -n
使用正则表达式解析HTML或XML文件基本上没有完成。诸如
sed
和awk
之类的工具对于处理文本文件来说非常强大,但当它归结为解析复杂的结构化数据(如XML、HTML、JSON等)时他们不过是一把大锤。是的,你可以完成这项工作,但有时要付出巨大的代价。为了处理如此精细的文件,您需要使用一组更有针对性的工具,从而更加精巧
在解析XML或HTML时,可以很容易地使用
对于XHTML文件,您可以使用:
$ curl ... | xmlstarlet sel --html -t -m '//comment()' -v . -n
然而,由于HTML页面通常不是格式良好的XML,因此使用XML稍微清理一下可能会很方便。在上述示例中,这将给出:
$ curl ... | tidy -q -numeric -asxhtml --show-warnings no \
| xmlstarlet sel --html -t -m '//comment()' -v . -n
与:
curl-s-L | ugrep'| sed-e's/^[:space:][]*/'
请注意,我们正在使用惰性重复*?
来限制匹配的模式,否则文件中的最后一个-->
将被贪婪地匹配
Ugrep相对较新。它旨在增强grepping,消除我们经常遇到的现有grep工具的限制。使用:
curl-s-L | ugrep'| sed-e's/^[:space:][]*/'
注意,我们使用惰性重复*?
来限制匹配的模式,否则文件中的最后一个-->
将严格匹配
Ugrep相对较新。它旨在增强grep,消除我们经常遇到的现有grep工具的限制