简单修改emlog的checkcode.php给验证码增加干扰线和噪点 emlog
以下是在论坛看到ewceo的帖子里的,但是他并没有给出具体的代码,对于菜鸟们来说就不容易;
鉴于 @奇遇 的反垃圾评论插件(哪怕是最新3.5版)经常被非法侵入式清空设置并报错,也不知是啥BUG,只好亲自动手来反击显示为国外IP的长篇英文评论了
首先分析状况:咱EMLOG的所有文章评论表单都是使用一个相同的提交地址,只是将文章ID赋在一个INPUT之中,这就给了机器人可趁之机:提交地址固定的、验证码地址固定的(还TM特好识别),文章ID是数字的随机生成就好,EMLOG的评论表单被模似简直是史上最轻松啊!所以JS之类的手段在机器人面前都是渣……
8错,在尚无给力插件问世的情况下,治标治本的办法只有改内核文件了:
第1步:英文垃圾评论一大特色就是长篇的并夹杂着火星文字,所以必含中文这样的反制也弱爆了,comment_controller.php文件定义评论最大字符数居然为8000,这是干神马的节奏,很多文章都够不到4000字好吧,发条微博和说说都不能超140字,所以偶赶紧给改为几百压压惊,上千字的精彩评论偶不需要啊
完成第一步还得紧接着做第2步:额,斗个胆,EMLOG默认的验证码偶能吐个槽么,生成的文字中规中矩且颜色清晰好辨,根本就是鸡肋嘛,除了给真心评论的人制造一道坎外,简直就是垃圾评论机器人的帮凶,还有比这更好自动识别的验证码么?checkcode.php唯一可赞之处似乎是不涉及字体文件,代码也比较精炼,这是偶所喜欢的风格,因此就没给彻底换掉,只是加了一点代码:增加几个随机线条,文字颜色范围也弄宽了点(为了防止人眼难识别,增加了点击刷新)……
如此2招之后偶就已经开始坐等机器人了,别的没啥,偶就是在线时间多,突然发现与垃圾评论玩玩策略对抗也有点意思,话说机器人若玩不过偶就暂不上后招咯
学过php的人应该很容易修改,我在这里把我修改过的粗略代码贴出来,便于不会的朋友借鉴,也便于会的朋友给我指点:
<?php /** * Emlog图片验证码生成程序 * @copyright (c) Emlog All Rights Reserved * Modify By Mrxn * Emlog Site: http://www.emlog.net/ * Mrxn's Blog: https://mrxn.net/ */ session_start(); $randCode = ''; $chars = 'abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNPRSTUVWXYZ23456789'; for ( $i = 0; $i < 5; $i++ ){ $randCode .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); } $_SESSION['code'] = strtoupper($randCode); $img = imagecreate(75,25) or die("创建图像资源失败,请刷新页面"); $bgColor = isset($_GET['mode']) && $_GET['mode'] == 't' ? imagecolorallocate($img,245,245,245) : imagecolorallocate($img,255,255,255); $pixColor = imagecolorallocate($img,mt_rand(88, 245), mt_rand(55, 240), mt_rand(99, 200)); //画字符、大小 for($i = 0; $i < 5; $i++){ $x = $i * 13 + mt_rand(3, 7) - 2; $y = mt_rand(0, 3); $text_color = imagecolorallocate($img, mt_rand(100, 250), mt_rand(80, 180), mt_rand(90, 220)); imagechar($img, 5, $x + 5, $y + 3, $randCode[$i], $text_color); } //画干扰点 for($j = 0; $j < 240; $j++){ $x = mt_rand(0,100); $y = mt_rand(0,40); imagesetpixel($img,$x,$y,$pixColor); } //4条横斜线 for ($i=0; $i < 5; $i++) { $lineColor = imagecolorallocate($img, rand(50, 150), rand(50, 150), rand(50, 150)); $lineX1 = 0; $lineX2 = 80; $lineY1 = ($i + 1) * 8; $lineY2 = ($i + 1) * 15; imageline($img, $lineX1, $lineY1, $lineX2, $lineY2, $lineColor); } //4条竖斜线 for ($i=0; $i < 5; $i++) { $lineColor = imagecolorallocate($img, rand(50, 150), rand(50, 150), rand(50, 150)); $lineY1 = 0; $lineY2 = 30; $lineX1 = ($i + 1) * 8; $lineX2 = ($i + 1) * 15; imageline($img, $lineX1, $lineY1, $lineX2, $lineY2, $lineColor); } header('Content-Type: image/png'); imagepng($img); imagedestroy($img);
将以上代码保存为[code]checkcode.php[/code]放在 你网站根目录/include/lib/下 覆盖,然后重启Apache或者是Nginx 即可看到效果(当然需要后台开启验证码)。
为防止真正的读者不能识别验证码,请给验证码添加上 点击刷新 功能,
参考链接:给emlog5.3添加验证码刷新功能 https://mrxn.net/emlog-teach/242.html
[red]注:在进行DIY操作之前,请先备份相关文件,以防万一!本文基于emlog 5.31测试可行,理论上兼容所有版本,只要php版本不低于4[/red]
相关参考:
https://segmentfault.com/a/1190000002924386
http://bbs.emlog.net/thread-40567-1-1.html
对于反垃圾评论,也可以试试我这款插件:
https://mrxn.net/emlog-teach/emlog-math-comment-plugin.html
http://www.emlog.net/plugin/248
_BXBF_DATA_ENTER 杂七杂八
_BXBF_DATA_ENTER ? WTF ?|-|
今天 和 朋友聊天的时候 复制他发送的消息到记事本 出现了这个 在聊天界面又没有,什么鬼?!
Google搜索貌似没有找到什么结果,国内的知乎也只有一个孤零零的问题,链接:https://www.zhihu.com/question/32081039
一开始以为是朋友跟我恶作剧,想跟我放病毒玩,把我吓一跳,赶紧把电脑扔出窗外了 -_- ||(just a joke !)
好吧,我检查了, 确实没有毒!||-_- na 是什么呢!
我也不知道,就这里写写,谁知道 告诉我啊 嘿嘿 求科普,博主很好学的 (/\-/\) !
先到这里,以后知道了结果进展 再来补充,大家一起补充啊!
利用python脚本实现Windows网卡叠加 技术文章
以前经常在网上找网卡叠加的小软件,找过很多个,有的用不来有的没效果,偶尔找到一个能用的批处理,于是根据这个脚本自己用python写了一个修改路由表的方案,这样一来下次就不用在网上找来找去了,简单实用(水平有限,还请在座各位多多指教)。
废话不多说直接贴代码,送给需要的人
#coding:utf-8 #调用库 import sys,os,re #函数 def pro_continue(): input("按Enter键退出") def nic_count(x): if x<2: print("网络叠加需要两块或两块以上网卡") exit() elif x>4: print("该程序最多支持叠加四块网卡") exit() def add_routetables2(i,g): net_1=[1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99,101,103,105,107,109,111,113,115,117,119,121,123,125,129,131,133,135,137,139,141,143,145,147,149,151,153,155,157,159,161,163,165,167,171,173,175,177,179,181,183,185,187,189,191,193,195,197,199,201,203,205,207,209,211,213,215,217,219,221,223] net_2=[2,4,6,8,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,174,176,178,180,182,184,186,188,190,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222] print("开始<span class='wp_keywordlink_affiliate'><a href="http://www.slll.info/archives/tag/%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1" title="View all posts in 负载均衡" target="_blank">负载均衡</a></span>") os.system("route delete 0.0.0.0") os.system("route add 0.0.0.0 mask 0.0.0.0 " + str(g[0]) + " metric 30 if " + str(i[0])) a=0 for x in net_1: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[0]) +" metric 25 if " + str(i[0])) for x in net_2: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[1]) +" metric 25 if " + str(i[1])) print("双网卡叠加成功") def add_routetables3(i,g): net_1=[1,4,7,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97,100,103,106,109,112,115,118,121,124,130,133,136,139,142,145,148,151,154,157,160,163,166,175,178,181,184,187,190,193,196,199,202,205,208,211,214,217,220,223] net_2=[2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59,62,65,68,71,74,77,80,83,86,89,92,95,98,101,104,107,110,113,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,176,179,182,185,188,191,194,197,200,203,206,209,212,215,218,221] net_3=[3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99,102,105,108,111,114,117,120,123,126,129,132,135,138,141,144,147,150,153,156,159,162,165,168,171,174,177,180,183,186,189,195,198,201,204,207,210,213,216,219,222] print("开始<span class='wp_keywordlink_affiliate'><a href="http://www.slll.info/archives/tag/%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1" title="View all posts in 负载均衡" target="_blank">负载均衡</a></span>") os.system("route delete 0.0.0.0") os.system("route add 0.0.0.0 mask 0.0.0.0 " + str(g[0]) + " metric 30 if " + str(i[0])) a=0 for x in net_1: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[0]) +" metric 25 if " + str(i[0])) for x in net_2: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[1]) +" metric 25 if " + str(i[1])) for x in net_3: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[2]) +" metric 25 if " + str(i[2])) print("三网卡叠加成功") def add_routetables4(i,g): net_1=[1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,173,177,181,185,189,193,197,201,205,209,213,217,221] net_2=[2,6,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222] net_3=[3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63,67,71,75,79,83,87,91,95,99,103,107,111,115,119,123,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223] net_4=[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,176,180,184,188,196,200,204,208,212,216,220] print("开始负载均衡") os.system("route delete 0.0.0.0") os.system("route add 0.0.0.0 mask 0.0.0.0 " + str(g[0]) + " metric 30 if " + str(i[0])) a=0 for x in net_1: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[0]) +" metric 25 if " + str(i[0])) for x in net_2: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[1]) +" metric 25 if " + str(i[1])) for x in net_3: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[2]) +" metric 25 if " + str(i[2])) for x in net_4: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[3]) +" metric 25 if " + str(i[3])) print("四网卡叠加成功") def check_ip(ip_str): pattern = r"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b" if re.match(pattern, ip_str): return True else: return False #主程序 os.system("title 网卡叠加-www.slll.info&&color 18") net_count=int(input("请输入网卡数量(MAX:4,Min:2): ")) nic_count(net_count) arr_1=[] arr_2=[] for x in range(1,net_count+1): temp=input("请输入第"+str(x)+"块需要叠加的网卡索引号 (cmd下面利用该命令查看:route print | find \"...\"[第一列即索引号]): ") arr_1.append(temp) temp=input("请输入网卡(" +str(x)+") 的网关: ") while True: if check_ip(temp): arr_2.append(temp) break else: temp=input("输入错误,请重新输入网卡(" +str(x)+") 的网关: ") if net_count==2: add_routetables2(arr_1,arr_2) elif net_count==3: add_routetables3(arr_1,arr_2) elif net_count==4: add_routetables4(arr_1,arr_2) pro_continue()注:此文并非博主原创,文章很有实用性,转载之,原文请移步:http://www.slll.info/archives/2153.html
自定义百度网盘分享密码 (Javascript) 杂七杂八
转载自:GIUEM
首先看下效果吧。(一不小心就开车了)
链接: http://pan.baidu.com/s/1gf4jcQZ 密码: mrxn
原理:
分析代码发现,百度网盘的自定义密码是在本地生成的
这也就给了我们玩耍的机会。
实现方法:
不二 和 LiesAuer 他们都是采用构造请求的方法,我觉得不够 hacker,而且不太方便。
所以我决定采用 JS 的方式修改密码。
方法很简单:修改 makePrivatePassword 这一函数即可。
具体代码
说明:代码可以转载,但请不要说是你原创之类的话!!!
压缩版
javascript:require(["function-widget-1:share/util/service/createLinkShare.js"]).prototype.makePrivatePassword=function(){return prompt("请输入自定义的密码","1234")}原版
require(["function-widget-1:share/util/service/createLinkShare.js"]).prototype.makePrivatePassword = () => { return prompt("请输入自定义的密码", "1234") }
使用方法 :
别急,你可别复制走代码就用了,一不小心就会出现这样的错误:
Uncaught Error: Cannot find module `function-widget-1:share/util/service/createLinkShare.js`(…)
首先,选择要分享的文件,点击分享按钮。 这时候,按 F12 打开控制台,切换至 Console ,输入代码按回车即可。
当然,你也可以存为书签,点一下书签。 然后点击创建私密链接,会弹出输入框,输入密码即可!
注意使用代码前要先点一下 分享 按钮,相关模块才会载入,这时候用代码才有效果。
密码类型
必须是 4 个字符。
如:
abcd
1234
ab12
啊a (中文加一个数字或字母)
其他类型请各位自己探索,可在下方给我留言。
好像如果密码有中文,第一次访问时会提示错误,刷新一下才正常。
CENTOS/UBUNTU一键安装IPSEC/IKEV2 VPN服务器 翻墙技巧
用法很简单:
总结成一句话就是:除了类型要选对以外,其他的一路回车就好了23333
具体如下:
1.下载脚本:
wget https://raw.githubusercontent.com/quericy/one-key-ikev2-vpn/master/one-key-ikev2.sh
2.运行(如果有需要使用自己已有的根证书,请将私钥命名为ca.cert,将根证书命名为ca.cert.pem,放到脚本的相同目录下再运行该脚本,没有证书的话将自动生成自签名证书咯):
chmod +x one-key-ikev2.sh bash one-key-ikev2.sh
3.等待自动配置部分内容后,选择vps类型(OpenVZ还是Xen、KVM),选错将无法成功连接,请务必核实服务器的类型。输入服务器ip或者绑定的域名(连接vpn时服务器地址将需要与此保持一致),以及证书的相关信息(C,O,CN),使用自己的根证书的话,C,O,CN的值需要与根证书一致,为空将使用默认值(default value),确认无误后按任意键继续
4.输入两次pkcs12证书的密码(可以为空)
5.看到install success字样即表示安装成功。默认用户名密码将以黄字显示,可根据提示自行修改文件中的用户名密码。(WindowsPhone8.1的用户请将用户名myUserNames修改为%any ,否则可能会由于域的问题无法连接,具体参见这篇文章中的说明)
6.将提示信息中的证书文件ca.cert.pem拷贝到客户端,修改后缀名为.cer后导入。ios设备使用Ikev1无需导入证书,而是需要在连接时输入共享密钥,共享密钥即是提示信息中的黄字PSK.
PS:
服务器重启后默认ipsec不会自启动,请自行添加,或使用命令手动开启:
连上服务器后无法链接外网:
修改net.ipv4.ip_forward=1后保存并关闭文件 然后使用以下指令刷新sysctl:
如遇报错信息,请重新打开/etc/syctl并将报错的那些代码用#号注释,保存后再刷新sysctl直至不会报错为止。
PS2:
如需Debian系统的IKEV2一键安装脚本,可参考magic282童鞋的一键脚本:
https://github.com/magic282/One-Key-L2TP-IKEV2-Setup
PS3:
原文地址:https://quericy.me/blog/699
CentOS设置程序开机自启动的方法 Linux
在CentOS系统下,主要有两种方法设置自己安装的程序开机启动。
1、把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd。
#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local /usr/local/apache/bin/apachectl start
2、把写好的启动脚本添加到目录/etc/rc.d/init.d/,然后使用命令chkconfig设置开机启动。
例如:我们把httpd的脚本写好后放进/etc/rc.d/init.d/目录,使用
chkconfig --add httpd chkconfig httpd on
命令即设置好了开机启动。
FBI破解iPhone可能只需1500美元,之前大费周章意欲何为? 业界新闻
美国联邦调查局(FBI)已经成功寻求到破解iPhone手机的方法,因此本周早些时候就破解一事召开的法院听证会被无限期延迟。
FBI已经成功接触了以色列一家名为Cellebrite的安全公司,该公司表示已经找到破解美国加州枪案嫌犯使用的iPhone 5c手机的方法。
Cellebrite曾成功破解iPhone 5
据《福布斯》网站报道:在意大利法院聆讯的一桩毁容攻击案中,犯案嫌犯声称忘记了自己iPhone 5手机的开机密码。法院找到了Cellebrite公司进行破解这部装有iOS 8系统的手机,而Cellebrite破解这部iPhone只收取了1500美元的费用。
意大利案件中的iPhone 5与美国加州枪案嫌犯使用的iPhone 5c手机使用类似的32位芯片,但是前者的系统为iOS 8,后者系统为iOS 9。而目前为止,Cellebrite公司能破解的最高系统版本为iOS 8.4。
如果Cellebrite果真在帮助美国联调局破解加州枪案手机,成本可能只需1500美元。
没有你,我一样可以!
苹果公司一直拒绝履行政府指令,为FBI提供破解服务,其CEO Tim Cook 更是公开表达反对言论,苹果工程师表示宁愿辞职也不愿帮助政府破解手机。
由此,双方决定在法庭上讨论该问题,广泛听取各方意见解决此事。但是,近日联邦调查局表示:如果该第三方有方法可以破解iPhone手机的话,将不再需要苹果的帮助。但需要时间来证明他们是否能够在不损坏手机上保存的任何数据的前提下绕过密码。
法院文件中,FBI这样论述道:
“上周日。2016年3月20日,一家第三方公司向FBI演示了一种方法,可能能解锁 San Bernardino枪击案枪手Syed Rizwan Farook的手机,司法部表示需要测试来判断它是否是一种能在不危及Farook手机数据的情况下解锁手机的可行方法。如果方法可行,那么FBI将不再需要苹果的帮助。”
联邦调查局补充道:
“面对苹果公司坚决抵制解锁苹果手机的情况下,FBI正在积极的进行可行性方法的研究。随着FBI继续进行可行性方法研究,以及国际范围内对该案件的广泛关注,美国政府以外的第三方也在联系美国政府,提供可行性的方法,共同研究。”
斯诺登表示:一切都是Bullshit!
上周,NSA举报人爱德华•斯诺登(Edward Snowden)谈到FBI要求苹果解锁iPhone事件时表示:FBI表示苹果具备‘独家技术手段’来解锁手机,而这完全是扯淡。FBI要求苹果协助解锁iPhone,是另有所图。
在斯诺登的推文曾引用了美国公民自由联盟丹尼尔•卡恩吉尔(Daniel Kahn Gillmor)的链接,来揭穿了FBI所谓的要求苹果提供帮助来绕过射击者Syed Rizwan Farook的iPhone 5c上“自动擦除”功能的真正企图。
FBI是否已经找到破解方式,还是这一切只是苹果和FBI联袂出演的一场“双簧”闹剧,我们大家就保持怀疑,一起拭目以待吧。
*原文链接:trustedreviews、tuicool
骚年
DDOS我博客 啥意思
有啥值得你DDOS的?
如果是玩,那好,你随便。
大不了 域名转到博客园,真是服了,国内这些人,
做个非盈利的博客也不放过?
我这里有啥利益和你冲突?
你讲明白就好啊,动不动就DDOS。
有本事就拿下shell 挂个马儿。
一天尽得儿逼得儿逼的。
烦死人,有啥用。╮(╯▽╰)╭
睡觉.
入侵之前的学校的网站的过程 渗透测试
作者:宝顺
前上学的学校。早就毕业了的,上学时候就一直想拿下来玩玩,不过总是忘了。今天无聊就拿下来了。。
目标站:xxxxxx.com
首先找后台地址。随便加了个admin。就是了,等等。。好像不对,为啥显示了部分内容才弹出的未登录的提示框。
相信大家都明白,写程序的时候验证是否登录的代码放到了现在显示的这些代码的后面,所里浏览器就先执行前面的代码(这个大家都懂,浏览器就按照先后顺序执行的代码)
而且还是js弹窗,好办了,禁止js代码就行了。毕竟是客户端的东西嘛!
火狐的禁止方法(其他浏览器的自行百度):
再地址栏输入about:config,点击回车键
在搜索地址栏中输入javascript.enabled
鼠标右键第一个,弹出菜单。再点击切换
当一行的中的,值由trun变成false。时候说明已经关闭了。
好了。js已经禁用了。
我们刷新页面试试。
已经执行js代码了。
接下来就是找可以登录后台的漏洞了。因为他执行了一个个人管理的代码。
我们右键审查元素。
看到了个密码修改的地址,点进去看看。
可以添加用户了。
我们添加个用户,然后后台登录。
我就不截图了
登录成功。
ok
拿shell更简单了。随便找了个地方任意文件上传。至于服务器就不提了,毕竟不会。。
发这个文章主要是告诉各位朋友,拿站方法千千万,一定要灵活的去入侵,不要那么死板。
出处:宝顺 'S Blog - 入侵之前的学校的网站的过程