2019-1-22 2678 0
各类教程

1.获取下载地址官网下载下载https://www.torproject.org/projects/torbrowser.html发邮件获取下载地址发任意内容到gettor+en@torproject.org可得到邮件实测126邮箱无法收到邮件!gmail可以Hi!ThisistheGetTorrobot.IamheretohelpyoudownloadthelatestversionofTorBrowser.Pleasereplytothismessagewithoneoftheoptionsbelow:androidwindowslinuxosxmirrorsIwillthensendyouthedownloadinstructions.Ifyouareunsure,justsendablankreplytothismessage.回复邮件,内容:androidwindowslinuxosxmirrors很快就会收到带有附件的邮件,内容中也有Dropbox/github/googledriver的地址。2.获取网桥访问https://bridges.torproject.org/bridges?transport=obfs2获取obfs2网桥访问https://bridges.torproject.org/bridges?transport=obfs3获取obfs3网桥访问https://bridges.torproject.org/bridges?transport=obfs4获取obfs4网桥[推荐]访问https://bridges.torproject.org/bridges?transport=scramblesuit获取scramblesuit网桥也可以通过邮件获取网桥:给bridges@bridges.torproject.org发邮件如标题和正文都写gettransportobfs4可获取obfs4网桥3.筛选高速网桥(可跳过)获取网桥后根据以下地址测试速度,把速度高的网桥都配置到tor中https://atlas.torproject.org/#search/网桥的fingerprint(40位字母数字组合)如https://atlas.torproject.org/#search/8ABB0F5D91E83C04BE557E2925EACE20733005194.添加网桥“Tor网络设置”对话框出现时,点击“配置”,根据向导操作,看到:网络提供商(ISP)或其他人是否对Tor网络连接进行审查或封锁?“是”-“下一步”-将网桥地址行通过复制粘贴的方式输入到文本输入框-“连接”是否使用本地代理?国内用户一般选“是”。如果使用的是可用的shadowsocks代理,在tor浏览器里配置代理sock5127.0.0.11080访问https://check.torproject.org/?lang=zh_CN可以检测是否成功启用了Tor!

2018-2-28 3868 1
2018-2-13 3196 0
编程语言

很多程序需要检测客户端的IP地址,然后来授予相关的权限。比如数据库读写,文件读写,等等。其实还有一个很常见的应用,网站投票。网站投票始于2000年的左右,那时候.COM正热得发红,红得发紫。早期的投票只要投了就行可能技术牛人们还没有想到一个人会多投,那个时候反正上网的人也不多,后来慢慢的COKIE验证,IP验证等等都出来了,但是这些还不是最保险的,因为COOKIE是放在客户端的,可以伪造;IP可以用代理,也可以伪造请求。有人可能会提出异议,咱们后边再讨论。真的没有什么东西是百分百保险的,这不,湖南卫视前几年就作出更绝的,短信+QQ一票收费1元,刷的越多他们越高兴,刷吧呵呵。废话不多说,进入正题投票如果验证COOKIE的话,把cookies删掉继续投,如果验证IP的话,换个代理继续投。如果你说换代理很麻烦?那就伪造http请求中的IP信息好了。有人会说:IP验证是在TCP层完成的,不是HTTP层完成的,如果伪造IP的话可能连TCP的三次握手都完不成。我这里说的不是完全意义的伪造。如果你使用透明代理上网,那么在透明代理发送给服务器端的HTTP请求中会包含x-forward-for信息。例如:X-Forwarded-For:162.150.10.16那么我们只要在发给服务器端的http请求中加入X-Forwarded-For:162.150.10.16信息即可。例如下边一个请求:GEThttp://www.ahjinzhai.gov.cn/sdyxnx/vote.php?id=1HTTP/1.1Accept:image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,application/x-shockwave-flash,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,*/*Referer:http://www.ahjinzhai.gov.cn/sdyxnx/Accept-Language:zh-cnAccept-Encoding:gzip,deflateUser-Agent:Mozilla/4.0(compatible;MSIE5.0;Windows98;DigExt;TencentTraveler)Host:www.ahjinzhai.gov.cnCookie:PHPSESSID=1847fc15020bc16b47ce250f457daab4Cache-Control:no-cacheX-Forwarded-For:162.150.10.16Pragma:no-cache上边的例子是安徽金寨门户网站中关于“十大优秀女性”评选的投票,1号选手是我班主任,当然要关注一下啦。猜测服务器端检测IP的代码可能如下:functionget_ip(){if(getenv('HTTP_CLIENT_IP')){gb_ip=getenv('HTTP_CLIENT_IP');}elseif(getenv('HTTP_X_FORWARDED_FOR')){$gb_ip=getenv('HTTP_X_FORWARDED_FOR');}elseif(getenv('REMOTE_ADDR')){$gb_ip=getenv('REMOTE_ADDR');}else{$gb_ip=$_SERVER['REMOTE_ADDR'];}returngb_ip=getenv('HTTP_CLIENT_IP');}elseif(getenv('HTTP_X_FORWARDED_FOR')){$gb_ip=getenv('HTTP_X_FORWARDED_FOR');}elseif(getenv('REMOTE_ADDR')){$gb_ip=getenv('REMOTE_ADDR');}else{$gb_ip=$_SERVER['REMOTE_ADDR'];}returngb_ip;还有一篇专门讲解如何获取在多级代理下客户端IP的方法http://www.blogjava.net/Alpha/archive/2006/07/12/57764.aspx对策:这种场合我们要折中一下,即只检测HTTP_CLIENT_IP,在ASP.NET中就该是只检测Request.UserHostAddress。总结:客户端IP地址检测有不同方法,不同的方法组合适合在不同的场合,只要程序员认真审视不同场合IP检测的方法,这里演示的方法会慢慢失效的。文后附了一篇文章,因为原文已经找不到了,无奈从GOOGLE的缓存中抢救回来,放在最后,原作者together,原文网址:点击这里。2006-10-20N年前CCTV的一场网络投票大战  话说几年前,CCTV搞了一个年度XX人物评选,与以往不同的是,这次评选采用网络投票的方式!彼时恰逢国内.com正热得发红,在这一次网络投票过程中,发生了一场“战争”。作为经历者之一,现在也许可以把它讲出来了。  先说投票人数,众所周知,我们的伟大祖国虽然人口众多,也不过屈屈十几亿而已,在当年的上网人数,也不超过一二亿,参加这次投票的,乐观点估计,撑死了也就30%吧,那就算2亿的30%,6000万吧。  再说候选人,聚集了国内企业界精英,如张xx,陶xx,倪xx,李xx等数十人,按正常的投票规律来看,这么多候选人,票数一分散,前几名的票数也不会超过1000万吧?  但事实让所有的人大掉眼镜!  投票开始没有几天,张xx,倪xx,陶xx的票数以每天一二百万的速度飞涨,形成了领跑的第一军团,后面的人是拍马也赶不上啊,望尘莫及!照这个速度,等到投票结束的时候,他们几个还不得每人都上亿票?要知道全中国一共才多少人啊,这不比国家统计局的数字还假嘛。  再说其中一位侯选人xxx,在国内也算是大有名头的人物,此时此刻在这一场投票中竟然跌落三甲,自然极不甘心,一手下大将急老板之所急,找到我们部门,要求为大老板的投票提供支援。要我们先分析一下前三名的投票机制,再帮老板弄弄。我一位兄弟,小B,听闻之后磨拳擦掌,誓要一展身手,此哥们平时就好搞搞反编译、破解啥的,C++功力一流。第一战:投票方式,列出了所有候选人的姓名,可以多选。最初的这场投票,是没有任何条件限制的,你点鼠标就可以了,不需要注册,更无其他限制。分析过后,小B仅用了半天时间,写了一个投票程序,自动发送http请求给CCTV网站,为显得不要太突出,在每次投票中,不只选老板一人,在他之外,每次在其它候选人中随机选一个人,这样就真真假假不好分辨了。公司里几百台电脑,马上全部装上该程序,24小时开机,开始猛力投票,老板的票数可就噌噌噌地上去了......,首战告捷第二战:可能CCTV也已经意识到了票数有点异常,毕竟里面也养了不少御用技术人员嘛,马上采取了补救措施,非注册用户不能投票!票数暂时增长放缓,但是马上大家都更新了程序,既然你让我注册,我就按你的HTML里的代码随机生成用户名和密码,来自动注册呗!票数又噌噌噌地上去了......第三战:CCTV有点傻了,赶紧想辙。马上做了一个要命的限制,从同一个IP段出来的所有用户,只能投一票!也就说是说,甭管你随机注册多少个用户,只能投一票。这一下可是立杆见影,其它三家一直领跑的票数马上就停了下来。我方这边,小B不愧是高手,马上修改程序,伪造IP数据包,每次发送过去的http信息中都是随机生成的IP。同时为加快投票速度,从单线程改为多线程。不过CCTV的服务器有点撑不住了,那几天访问他们网站的时候,那叫一个慢啊,跟蜗牛似的......终于,我们老板挤进了前三名,举公司欢呼啊。不过老板为人还是比较低调,不想当第一名,发话,保住第三名就可以了。因此我们就放慢了投票的速度。到最终整个投票结束的时候,老板恰好是第三名,一场大战终告结束。这件事情给我们的教训就是:第一,不能让人随便投票,得让用户先注册再投。第二,一个用户只能投一票。第三,在用户注册的时候,得加验证码。以防止作弊。第四,加验证码,还不能用静态的数字或字母,因为这样还是能作弊。得用随机生成的图片组合。第五,怎么防止用户随机生成伪IP包重复投票呢?转自http://www.cnblogs.com/x2048/articles/1794020.html

编程语言

我在Ubuntu16.04版本中使用终端安装MySQL5.7时,按照度娘的教程,搜索如何安装,大多是如下代码:sudoapt-getinstallmysql-serversudoapt-getinstallmysql-client12检查MySQL是否运行:sudonetstat-tap|grepmysql1如果成功安装,我的会显示如下内容:tcp00localhost:mysql*:*LISTEN18475/mysqld1PS:重启/打开/关闭MySQL的方法是:sudoservicemysqlrestart/start/stop就这两个命令就安装好了,可是我在安装过程中并没有出现要我写用户名和密码的地方,我一脸懵逼,完成后在终端输入mysql-uroot-p之后,要求我输入密码,可是我并不知道密码,随便输入之后,ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:YES)1百度了三五个小时,解决方案五花八门,我最后使用有效的方法是:打开一个文件sudovim/etc/mysql/debian.cnf1在这个文件里面有着MySQL默认的用户名和用户密码,最最重要的是:用户名默认的不是root,而是debian-sys-maint,如下所示#AutomaticallygeneratedforDebianscripts.DONOTTOUCH![client]host=localhostuser=debian-sys-maintpassword=hGu99nJgoWcmCDKTsocket=/var/run/mysqld/mysqld.sock[mysql_upgrade]host=localhostuser=debian-sys-maintpassword=hGu99nJgoWcmCDKTsocket=/var/run/mysqld/mysqld.sockbasedir=/usr12345678910111213密码会随即给一个很复杂的,这个时候,要进入MySQL的话,就是需要在终端把root更改为debian-sys-maint,如下代码mysql-udebian-sys-maint-p1然后终端会提示你输入密码Enterpassword:1这是输入文件中的密码即可成功登陆。当然了,这之后就要修改密码了,毕竟密码太难记。经过度娘的指导,我所安装的版本是5.7,所以password字段已经被删除,取而代之的是authentication_string字段,所以要更改密码:mysql>updatemysql.usersetauthentication_string=password('password')whereuser='root'andHost='localhost';1如果显示:QueryOK,1rowaffected,1warning(0.00sec)Rowsmatched:1Changed:1Warnings:12则代表成功修改,之后需要*重启**MySQL,方可登录成功。顺便说一下删除MySQL的方法,省的之后再找度娘。代码如下:sudoapt-getautoremove--purgemysql-server-5.7sudoapt-getremovemysql-serversudoapt-getautoremovemysql-serversudoapt-getremovemysql-common1234上面的可能会有些是多余的,之后需要清理残余数据dpkg-l|grep^rc|awk'{print$2}'|sudoxargsdpkg-P12转载:http://blog.csdn.net/fr555wlj/article/details/54971412