=Start=
缘由:
今天看到了阿里云社区上爆出的sudo本地提权漏洞,顺便逛了一下论坛里的其它帖子,发现他们在漏洞信息的总结、整理、公告方面是国内比较领先的,就想着按照他们总结、统计出来的漏洞列表对公司内部使用的系统/软件进行排查,既全面又省事。
观察发现他们的「漏洞公告」信息是有一个统一的命名格式的:
在「安全漏洞公告专区」页面中,标题包含有「【漏洞公告】」的帖子。
这时,我有几种方式对其中的内容进行统计,比如:
方法一(Google大法):
site:bbs.aliyun.com 安全漏洞公告专区
site:bbs.aliyun.com 【漏洞公告】
方法二(jQuery大法):
打开「安全漏洞公告专区」页面,然后用浏览器的console进行帖子标题、URL、创建时间的提取
方法三(站内搜索):
试了试,效果不太好(因为没有登录的原因?)
正文:
参考解答:
这里主要记录一下我在Chrome浏览器下用jQuery提取相关信息的过程,方便以后在碰到类似情况时有个参考。
1.分析、定位
浏览器打开「安全漏洞公告专区」页面,然后将鼠标放在「【漏洞公告】CVE-2017-1000367:Sudo本地提权漏洞」贴子标题上「右键 – 检查」,看是否存在一些容易定位该item的特征,发现该类<a>元素都有「class=”subject_t f14“」标识,至此,过滤条件确定了。接下来用js实现定位和过滤。
2.jQuery的selector
jQuery 选择器
http://www.w3school.com.cn/jquery/jquery_selectors.asp
jQuery中如何选择class名称中包含有「空格」的元素?
https://stackoverflow.com/questions/1988483/jquery-selector-classname-with-space
情况: <div class = "panel current" > 对应: $( "div.panel.current" ) 所以: <a ... class = "subject_t f14" ...> 对应: $( "a.subject_t.f14" ) // 或 $(".subject_t.f14") |
用selector选好了之后,如何循环对选中的元素进行处理?
https://stackoverflow.com/questions/17717205/how-to-iterate-a-result-of-jquery-selector
https://stackoverflow.com/questions/4735342/jquery-to-loop-through-elements-with-the-same-class
$( ".subject_t.f14" ).each(function() { console.log( this .href); }); // 或 $( ".subject_t.f14" ).each(function(index, elem){ console.log( "I am " + index + "th element." , elem.href); }); |
JavaScript中如何进行字符串包含的测试?
https://stackoverflow.com/questions/1789945/how-to-check-whether-a-string-contains-a-substring-in-javascript
https://stackoverflow.com/questions/3480771/how-do-i-check-if-string-contains-substring
var string = "foo" , substring = "oo" ; string.indexOf(substring) !== - 1 ; |
JavaScript Break 和 Continue 语句
http://www.w3school.com.cn/js/js_break.asp
JavaScript中如何根据指定分隔符对字符串进行切分?
https://stackoverflow.com/questions/96428/how-do-i-split-a-string-breaking-at-a-particular-character
|
3.其它
在浏览器的 console 中如何判断 jQuery 是否已经加载?以及 ‘$’ 是否可用?
https://stackoverflow.com/questions/1828237/check-if-jquery-has-been-loaded-then-load-it-if-false
typeof $ var tests = $( "a" ); // typeof jQuery var tests = jQuery( "a" ); |
参考链接:
- http://www.w3school.com.cn/jquery/jquery_selectors.asp
- https://stackoverflow.com/questions/1988483/jquery-selector-classname-with-space
- https://stackoverflow.com/questions/17717205/how-to-iterate-a-result-of-jquery-selector
- https://stackoverflow.com/questions/1789945/how-to-check-whether-a-string-contains-a-substring-in-javascript
- https://stackoverflow.com/questions/96428/how-do-i-split-a-string-breaking-at-a-particular-character
=END=
《 “jQuery常用小知识学习” 》 有 7 条评论
前端框架模式的变迁
https://mp.weixin.qq.com/s/_jZaL0XIaKtuZ_5EpAT6Yg
Angular、Vue、React 和前端的未来
https://zhuanlan.zhihu.com/p/28357490
react.js,angular.js,vue.js学习哪个好?
https://www.zhihu.com/question/39943474
https://github.com/xufei/blog/issues/5
Vue、React和Angular 2.x,谁是2016年的主流?
https://www.zhihu.com/question/38989845
Vue.js对比其他框架
https://cn.vuejs.org/v2/guide/comparison.html
我从Angular 2转向Vue.js, 也没有选择React
https://blog.fundebug.com/2017/09/20/why-we-moved-from-angular2-to-vue/
如何在主流JavaScript框架中做选择?横向对比Vue, React, AngularJS, and Angular2
https://36kr.com/p/5085661.html
Element快速上手
http://element-cn.eleme.io/#/zh-CN/component/quickstart
Vue.js 教程
http://www.runoob.com/vue2/vue-tutorial.html
Vue.js最佳实践(五招让你成为Vue.js大师)
https://segmentfault.com/a/1190000014085613
我是如何从零开始学习前端的
https://segmentfault.com/a/1190000004652898
JavaScript 是如何运行的?
https://segmentfault.com/a/1190000020438413
`
什么是JavaScript?
代码是怎么运行的?
汇编语言
高级语言
JavaScript 需要编译吗?
编译
跨平台
解释执行
编译过程
词法分析
语法分析
优化及代码生成
链接及装载
什么是动态语言,动态类型?
错误
编译时错误
链接时错误
运行时错误
JavaScript中最常见的十个错误
结语
`
如何搞定某些网站不让复制文字
https://mp.weixin.qq.com/s/miyrPlKG015GIWvkfpMSkA
`
浏览某些网站的时候,看到一段不错的话想复制下来,结果竟然要登录,甚至你都选择不了文字,因为被禁用了,下面就分享几种解决方案。
# 浏览器控制台
按F12或者右键检查打开控制台,在console里输入$=0,原理就是破坏网站的js执行。
有些网站连右键和F12都禁止了怎么办?随便打开一个网站先打开控制台再复制网址打开。
如果$=0无效,在设置里勾选Disable JavaScript,复制完之后记得再改回去。
# Chrome 扩展
安装 simple allow copy 这个扩展 https://chrome.google.com/webstore/detail/simple-allow-copy/aefehdhdciieocakfobpaaolhipkcpgc
如果你想编辑下再复制,推荐微信同步助手这个扩展 https://chrome.google.com/webstore/detail/%E5%BE%AE%E4%BF%A1%E5%90%8C%E6%AD%A5%E5%8A%A9%E6%89%8B/hchobocdmclopcbnibdnoafilagadion
# 油猴脚本
推荐 网页限制解除(精简优化版) https://greasyfork.org/zh-CN/scripts/41075 ,直接安装就行。
如果你想突破b站的版权限制,推荐 解除B站区域限制的脚本 https://greasyfork.org/zh-CN/scripts/25718
# ocr
如果以上方法还不行(这种网站比较少),只能用ocr识别了,可以看看之前文章那些你可能不知道的 ocr 图片文字识别工具 里的天若ocr。
`
`
CSS 选择器
1. 先元素-直接元素名称即可
document.querySelector(“div”)
Principles
2. 后属性-放在方括号[]内
document.querySelector(“[href$=’.png’]”)
document.querySelector(“[type$=’script’]”)
document.querySelector(“[type$=’css’]”)
3. 再类型-以.开头
document.querySelector(“.back_to_top”)
Back to Top
4. 最后id-以#开头准确指定
document.querySelector(“#mc-empires_embed_signup_scroll”)
…
`