脚本

(网络安全)主动信息收集 服务扫描

扶醉桌前 提交于 2020-03-05 10:14:33
0x01 在上一节中 我们可以扫描出目标主机开启的端口 但是要注意的是 !!!我们不能简单的仅从目标开启端口号 就判断目标一定开启了什么服务 例如 有的目标会把把邮件服务开在80端口上 我们首先先收集目标的Banner信息 注:存在有些目标主机为了迷惑攻击者 修改自己的banner信息 因此我们要对得到的banner信息 持半相信半怀疑态度 0x02 Banner信息收集 1.什么是banner信息: Banner信息是欢迎语,在banner信息中可以得到软件开发商,软件名称、版本、服务类型等信息。 1.NC命令探测 nc -nv 192.168.31.1 22 缺点:但一次只能对一个端口进行连接 2.定制数据包探测 由于之前使用的scapy只能作用在第二层和第三层 要想订制应用层的数据包就要使用python中的socket编写脚本 进行测试 3.dmitry dmitry -pb 1.1.1.1 4.nmap nmap -sT 1.1.1.1 -p1-10 --script=banner.nse //使用脚本完成对banner信息的搜索 对物理主机进行了扫描 提示filtered(被过滤的) 因为物理主机开启了防火墙 再扫一个,可以看到使用nmap我们可以获得更多的banner信息 同时我们还可以使用该命令来看nmap中有哪些脚本可以供我们使用 cd /usr /share

Mybatis - 自定义BaseMapper LanguageDriver(注解方式)

我的梦境 提交于 2020-03-05 07:11:47
在使用mybatis的注解的形式的时候我们都希望能封装一些基础的方法。本篇内容就是基于此,本篇内容的源码 源码 如果可以,欢迎点个star BaseMapper如下: /** * 基础base * @param <T> * @param <K> */ public interface BaseMapper<T, K> { /** * 插入 * @param model * @return */ @Lang(BaseMapperDriver.class) @Insert({"<script>", "INSERT INTO ${table} ${values}", "</script>"}) @Options(useGeneratedKeys = true, keyColumn = "id", keyProperty = "id") Long insert(T model); /** * 修改 * @param model * @return */ @Lang(BaseMapperDriver.class) @Update({"<script>", "UPDATE ${table} ${sets} WHERE ${id}=#{id}", "</script>"}) Long updateById(T model); /** * 删除 * @param id * @return */

RegExp javascript正则表达式 :

浪子不回头ぞ 提交于 2020-03-04 13:17:38
传统的查找字符串中的相关的字符 : <script type="text/javascript"> var str='aaa23uihjkikh666jhjhk888kuhji123bnjk321';//这是字符; function findNum(str){ var arr=[]; var tmp=''; for(var i=0;i<str.length;i++){ if(str.charAt(i) >=0||str.charAt(i)<=9){ tmp+=str[i]; }else{ if(tmp!=''){ arr.push(tmp); tmp=''; } } } if(tmp!='')arr.push(tmp); return arr; } console.log(findNum(str));//[23,666,888,123,321] </script> 而正则匹配 : <script type="text/javascript"> var str='aaa23uihjkikh666jhjhk888kuhji123bnjk321a'; function findNum(str){ return str.match(/\d+/g); } console.log(findNum(str));//[23,666,888,123,321] </script>/

页面跳转

家住魔仙堡 提交于 2020-03-04 04:24:38
Javascript 返回上一页 1. Javascript 返回上一页 history.go(-1), 返回两个页面: history.go(-2); 2. history.back(). 3. window.history.forward()返回下一页 4. window.history.go(返回第几页,也可以使用访问过的URL) 例: <a href="javascript:history.go(-1);">向上一页</a> response.Write("<script language=javascript>") response.Write("if(!confirm('完成任务?')){history.back();}") response.Write("</script>") response.Write("<script language=javascript>history.go(-1);</script>") <a href="javascript:history.go(-1);">向上一页</a> 页面跳转:onclick="window.location.href='list.aspx'" P.S. 小技巧(JS引用JS): <script type=text/javascript> <!-- if (typeof SWFObject ==

H5定位终极解决方案

旧街凉风 提交于 2020-03-03 23:16:57
H5定位终极解决方案 背景 做一个H5的微商城,主要在微信内,但也要考虑到其他浏览器。其中,首页需要根据当前用户的经纬度找到距离最近的门店并展示。前端需要做的工作就是获取用户的经纬度然后查询后台接口并渲染页面。 目标与分析 我们的目标是经过封装之后,只需要调用一个方法就可以拿到返回的位置信息。 我们需要做的事情是,针对不同的端(微信H5和其他浏览器环境)封装不同的类,再通过一个方法通过 UA 区分,调用不同环境对应的类获取位置。 在微信内部,经过反复的实践之后,不论是通过原生的 HTML5 定位,还是通过第三方(如百度或腾讯地图) jsapi 获取位置,不仅定位时间长,甚至经常出现定位失败的情况,严重影响用户体验,尤其对于大部分信息流都依赖于用于位置的商城首页来说,是完全无法接受的。所以在微信内我们只有微信 sdk 这一种选择; 而对于浏览器端,通过第三方的地图 jsapi 或定位组件,可以稳定且较快速地获取位置信息,为了与微信内尽量保持一致,我们选择的是腾讯地图 jsapi。 解决方案 Talk is cheap, show me the code. 废话不多说,直接上代码: 在浏览器中,通过腾讯地图jsapi获取位置 1.1 在项目的 html 模版文件中引入腾讯地图 jsapi <!-- index.html --> <script charset="utf-8" src="

javascript常用方法函数收集

独自空忆成欢 提交于 2020-03-03 21:29:16
字符串长度截取 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 function cutstr(str, len) { var temp, icount = 0, patrn = /[^\x00-\xff]/,strre = "" ; for ( var i = 0; i < str.length; i++) { if (icount < len - 1) { temp = str.substr(i, 1); if (patrn.exec(temp) == null ) { icount = icount + 1 } else { icount = icount + 2 } strre += temp } else { break ; } } return strre + "..." } 替换全部 1 2 3 String.prototype.replaceAll = function (s1, s2) { return this .replace( new RegExp(s1, "gm" ), s2) } 清除空格 1 2 3 4 String.prototype.trim = function () { var reExtraSpace = /^\s*(.*?)\s+$/; return this .replace

常用JavaScript脚本

感情迁移 提交于 2020-03-03 21:06:25
常用JS脚本 1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu=return(false)><td>no</table> 可用于Table 2. <body onselectstart="return false"> 取消选取、防止复制 3. onpaste="return false" 不准粘贴 4. oncopy="return false;" oncut="return false;" 防止复制 5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标 6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标 7. <input style="ime-mode:disabled"> 关闭输入法 8. 永远都会带着框架 <script language="JavaScript"><!-- if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页 // --></script> 9. 防止被人frame <SCRIPT LANGUAGE

网页中常用的JavaScript代码

。_饼干妹妹 提交于 2020-03-03 21:05:25
1. 禁止鼠标右键、禁止选取、复制、粘贴 <body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false"onmouseup="document.selection.empty()> 2. 禁止鼠标右键oncontextmenu="return false" 3. 禁止粘贴onpaste="return false" 4. oncopy="return false;" oncut="return false;" 防止复制 5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标 6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标 7. <input style="ime-mode:disabled"> 关闭输入法 8. 永远都会带着框架 <script language="javascript"><!-- if (window ==

[导入]40种网页常用小技巧(javascript)

陌路散爱 提交于 2020-03-03 21:04:30
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu=return(false)><td>no</table> 可用于Table 2. <body onselectstart="return false"> 取消选取、防止复制 3. onpaste="return false" 不准粘贴 4. oncopy="return false;" oncut="return false;" 防止复制 5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标 6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标 7. <input style="ime-mode:disabled"> 关闭输入法 8. 永远都会带着框架 <script language="JavaScript"><!-- if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页 // --></script> 9. 防止被人frame <SCRIPT LANGUAGE=JAVASCRIPT><!

JavaScript常用方法函数收集

心已入冬 提交于 2020-03-03 21:02:21
本文中,收集了一些比较常用的Javascript函数,希望对学习JS的朋友们有所帮助。 1. 字符串长度截取 function cutstr(str, len) { var temp, icount = 0, patrn = /[^\x00-\xff]/, strre = ""; for (var i = 0; i < str.length; i++) { if (icount < len - 1) { temp = str.substr(i, 1); if (patrn.exec(temp) == null) { icount = icount + 1 } else { icount = icount + 2 } strre += temp } else { break; } } return strre + "..." } 2. 替换全部 String.prototype.replaceAll = function(s1, s2) { return this.replace(new RegExp(s1, "gm"), s2) } 3. 清除空格 String.prototype.trim = function() { var reExtraSpace = /^\s*(.*?)\s+$/; return this.replace(reExtraSpace, "$1") } 4.