浏览模式: 标准 | 列表 | 无广告分类:网络·技术
Post by tywtyw2002 on 2010, August 16, 11:33 AM
修改 access-list
想去掉一條規則
直接 no access-list了。。。靠 整個list都空了,
然后輸入2條后 發現丟失鏈接。
我居然在 access-list 101 寫上了 deny any any
access-list 看來有必要從新看一下了
好吧先說下 acl 列表的修改方法吧
1。請記住 acl 最后一句是 deny any any 隱藏的
cisco這個牲口不提供 插入和刪除 要想修改只能從新做
除非你做的事允許列表
acl和iptables一樣 由上倒下訪問。
修改方法1
tftp方法 但是很麻煩。
2
先去if 里面no掉 access-group
然后 sh run
把acl 復制到記事本
然后 no access-list XX
然后編輯好記事本中的acl列表 copy到ciaco中
在到if中把 access-group 加上。
Tags: cisco
网络·技术 | 评论:0
| 阅读:78
Post by tywtyw2002 on 2010, August 14, 2:30 AM
最近1984被中国ddos,然后就是封ip。
到底gfw會不會屏蔽ddos呢?
這個話題一會我們談一下。
首先先說下 gfw的屏蔽的2中方式
1.就是平時所看見的鏈接重置,這個發生在互聯網關口上。
2.ip封鎖,其實這個不是gfw做的,而是各個省級核心路由器做的。
那么ddos是什么呢?
我先copy下。。。文章沒找到。。
簡單的說下吧,現在基本的攻擊方式都是 syn flood,制造海量syn數據包 去制造空連接,讓服務器消耗端口,因為空連接會有30s的等待時間導致端口不能用,所以讓正常的鏈接無法建立。
syn flood 中原ip都是偽造的 是不存在的,當服務器收到這些數據包也會發送一個回應數據包,這樣就造成了2倍的流量(1倍對于服務器是下行的,就是ddos者發送的數據包,另外1倍就是服務器回饋的流量。)這樣網絡帶寬直接被消耗干凈了。
一般1m的adsl可以產生大概500kbits/s的ddos 流量, 100臺就是50mbits的流量。 很輕松就能讓一臺服務器帶寬耗盡。
結論:
1。ddos不會產生tcp鏈接,他的目的是利用tcp三次握手的漏洞。
2.源ip是偽造的,只要發送者能夠把這個數據包發送到服務器那么ddos就可以進行。
好了那就說下gfw的2種情況吧
先說1吧。
鏈接重置是建立在 穩定的tcp連接上,gfw審核的tcp鏈接發送的內容,如果tcp鏈接都沒法成功建立可以說gfw是無法屏蔽的。
所以即使有關鍵字被屏蔽的情況下是可以在國內發起ddos的。
ps 墻不是路由是一個監聽設備類似ids。
2.這種情況 是路由器處理的 ,因為路由器直接參與數據包轉發 所有目的ip為被封鎖ip 直接跳轉到 null0 (cisco邏輯端口 丟棄數據包不產生任何回復。)
所有此種情況在國內無法發動ddos攻擊, 其實ip被封了 也是好事 哈哈
ps 了解路由封鎖可以看下我以前寫的文章 【实验】基于路由协议的的ip封锁
http://landon.v70.us/show-113-1.html
Tags: gfw, ddos
网络·技术 | 评论:0
| 阅读:79
Post by tywtyw2002 on 2010, August 4, 8:14 AM
好吧,魔方算法目前看源码没研究出来原理,我先讲解下魔法的表示法吧。
目前用的最多的表示法是 Mike Reid创造出来的 ,他用 4+4+4 表示12个边 ,然后4+4表示8个角 。刨去了6个中心。 之未央 12×2+8×3+6 正好是54。
这样 只用了 一行就可以表示出魔方的样子了。
UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR
代表的是一个拼好的魔方。
下面是字母的含义
U: Up
F: Front
R: Right
L: Left
D: Down
B: Back
其实字幕的含义不光是方向 也代表颜色。
默认的算法是用
u=yellow
f=blue
r=red
其他的自己看吧 我手头没魔方。
顺序如下 显示最上层的edge 以蓝色面和黄色面交界处为1 顺时针
然后是底面。同样 以蓝色和地面颜色为1顺时针
最后是中间那一层 以蓝色和红色为1
之后是角 黄红蓝为1
红蓝和地面颜色为1
看图吧

在剽窃一张别人的图
http://www.diy-robots.com/wp-content/uploads/2010/01/Rubik.gif
Tags: 魔方, 算法
网络·技术 | 评论:0
| 阅读:107
Post by tywtyw2002 on 2010, July 15, 8:11 AM
其实我不打算发这篇文章了,听很多友友说uc的协议加密了。
那么这篇文章也没有意义了。
uc6.2的协议。好像java也用的是这个协议。
uc返回数据包用的是gz格式。
返回的数据包先找74 72 75 65 ff 记录下指针 为a
然后找 1f 18 纪录指针为b
b must > a
如果b小于a 继续找~
从b开始读到结尾-4 把这些内容 用gz解压就可以得到 uc格式的网页了。
很多懒得分析了
00 00 39 后面是对应的url /01 00 15结束
01 00 15 是你uc的id号 前面有文章说过这个id 这个id 对于在服务器存储cookies的id。
请求url 头部报文:
Java代码
- private HttpConnection a(String s1)
- {
- String s2 = s1;
- String as1[] = f.a(f.a(new f(s2, true)));
- StringBuffer stringbuffer = new StringBuffer();
- if(s1 != null && (s1.indexOf("uc_support_flash") != -1 || (s1.indexOf("down2.ucweb.com") != -1 || s1.indexOf("uc123.com") != -1 || s1.indexOf("uc123_pn") != -1 || s1.indexOf("uc_common_param") != -1) && s1.indexOf("dn=") == -1))
- {
- String s3 = s.j_int_static_fld + "x" + s.k_int_static_fld;
- stringbuffer.append("ss=").append(s3).append("&pf=").append("69");
- if(s1.indexOf("dn=") == -1)
- stringbuffer.append("&dn=").append(s.l != null ? s.l : "");
- if(s1.indexOf("uc_support_flash") != -1)
- {
- stringbuffer.append("&ver=").append("7.2.0");
- stringbuffer.append("&ua=").append(f.b(s.p, null));
- }
- if(b.b(s.f))
- stringbuffer.append("&cp=").append(f.b(s.f, null));
- }
- if(b.b(as1[0]) && s1.indexOf("uc_common_param") != -1 && (as1[0].endsWith(".uc.cn") || as1[0].endsWith(".ucweb.com") || as1[0].endsWith(".uc123.com")) && b.b(b.h))
- stringbuffer.append("&li=").append(f.b(b.h, null));
- if(stringbuffer.length() > 0)
- {
- s1 = stringbuffer.toString();
- if(b.a(as1[1]) || as1[1].indexOf('?') == -1)
- as1[1] = b.a(as1[1]) + '?' + s1;
- else
- as1[1] += '&' + s1;
- }
- return a(as1[0], as1[1], k_byte_fld, l_byte_fld, 0);
提交报文 没查 懒得分析了 有时间的自己找吧 你想分析数据包也可以 自己抓包 我也有几个数据包
想看java代码的 去找n.java 反编译ucjava版去吧。
最好2个集合看 分析的很快。
s60的手机进水了 没法wifi抓包了
n73还没有wifi 所有懒得研究了 不想用蓝牙抓包 麻烦。
想继续研究的可以找我 加我qq好了 我不常在线 有事留言 如果我在线会和你讨论的
提取出来的uc 请求服务器报文 跟我当年写的一样^_^
Java代码
- boolean flag5 = flag;
- String s1 = ((String) (obj));
- obj = this;
- Vector vector;
- (vector = new Vector()).addElement(new String[] {
- "sn", b.a(s.k_java_lang_String_static_fld)
- });
- vector.addElement(new String[] {
- "version", s.x
- });
- vector.addElement(new String[] {
- "platform", s.o
- });
- vector.addElement(new String[] {
- "useragent", b.d(s.p)
- });
- vector.addElement(new String[] {
- "last_server", flag5 ? s.u : ""
- });
- vector.addElement(new String[] {
- "reassign", String.valueOf(flag5 && b.b(s.u))
- });
- vector.addElement(new String[] {
- "m_bid", "999"
- });
- if(s.b)
- vector.addElement(new String[] {
- "m_" + b.d("ch"), b.d(s.d)
- });
- Object obj1;
- ((Vector) (obj1 = vector)).addElement(new String[] {
- "m_pfid", "69"
- });
- ((Vector) (obj1)).addElement(new String[] {
- "m_bseq", "10033015"
- });
- ((Vector) (obj1)).addElement(new String[] {
- "m_ss", s.j_int_static_fld + "x" + s.k_int_static_fld
- });
- if(b.b(s.q))
- ((Vector) (obj1)).addElement(new String[] {
- "m_imei", b.d(s.q)
- });
- ((Vector) (obj1)).addElement(new String[] {
- "m_dn", s.l
- });
- ((Vector) (obj1)).addElement(new String[] {
- "m_ssid1", s.w
- });
- vector = vector;
- obj1 = "assign";
- byte abyte0[] = a("assign", vector, ((String) (null)));
- if((flag1 = ((n) (obj)).a(s1, "/", abyte0)) != 1 && flag4)
- c(i1 + 20);
- if(flag1)
- flag1 = a();
- }
网络·技术 | 评论:0
| 阅读:152
Post by tywtyw2002 on 2010, July 15, 7:53 AM
最及闲着无聊,正在写一个带后门的加密算法,目前写的差不多了。
算法就不发了免得别人嘲笑(本人学艺不精呀^_^)。
不过会提供一下大概的思路。
好像这种带有后门的加密算法在网上应该有,不过流传不广。应该是作为某个组织内部发布给外部用户的。因为要监视用户的信息哈哈。很有天朝的特色。
好了不多说了直接给出算法的一些概况吧。
加密算法我选用的是32bits密匙TEA算法,比较好用。
TEA算法只能1对1解密,不存在公匙和密匙。
在服务器和用户之间用起来很不错。安全,但是却给监听带来了一些难读。虽然可以从服务器的数据库中读出密匙,但是如果2用户之间利用这个传送就不能截取了,因为没人知道密匙。
所以我就蛋疼的写了这个算法。
XX XX ~ XX XX ~xx
id |后门密匙| 密文部分
其实算法也不难 就是把密匙经过我写的一个算法加密存储在密文的前面。
对于任意1个知道后门密匙加密算法的人来所都可以把这个数据包解开。
id就是加密算法的种子。 利用这个种子对密匙加密。
密匙加密算法用的是 discuz商业版的算法。
很偷懒 php实现。
写的乱死了
没了
over
Tags: 后门, 加密算法
网络·技术 | 评论:0
| 阅读:129
Post by tywtyw2002 on 2010, June 15, 10:30 AM
首先聲明一下,本文章沒有任何的攻擊意思,所有的觀點只是筆者我根據我所了解到的及經歷過一些事情整理出來的,很多觀點並沒有求證過,只是猜測,所以請勿較真。ps認真你就輸了。
ps:最及天天玩wow tw 所以安了個繁體輸入法,不小心把google的給刪了,所以就用繁體寫了。請大家見諒。
1.當密碼不再安全時。
最及維權人士的twitter賬戶經常被盜,還有維權人士的郵箱被設轉發等等。
不能說黑客的技術提高了,只能說是密碼變得越來越脆弱了。
6位數字md5 大概10分鐘內就能出來吧?這個沒研究過。
還有cmd5這個畜生網站 居然把10位以內的數字+字幕都算出來了。
也就是說10位以下密碼不再安全了。
2.密碼等於擺設。
我不敢確定真相是否如此,但是很多地方的確是這麼幹的。
論壇在數據庫中除了md5密文外,還會存儲明文密碼。
這個是我在07年時候寫過文章 discuz論壇的釣魚。
寫這篇文章純屬是為了騙稿費。雖然這個很違反道德,但是我的確做了。
我的05年的時候弄了一個小論壇就開了這個功能。
其實就算我不記錄明文的話 破下md5也能知道密碼的。(某些破不出來)
現在的行情是個大論壇或多或少的都會有明文密碼。
還有我聽說校內那些郵箱密碼都會被反在數據庫中的,為啥,天朝要求的,一個不成文的規定。互聯網安全。
就算沒有記錄郵箱密碼,利用校內的密碼也能夠知道了。
ps 據調查80%的用戶 所有的密碼都是一個。
所有奉勸大家,別設置複雜的密碼了。多設置幾個密碼吧。
天朝你懂得。
3.解決方案。
目前沒有很好的解決辦法。人家記錄明文密碼你怎麼辦?只能吃虧了。
我曾經把我的blog的密碼驗證函數給改了。
a=randon(a-z)
a+md5(a+md5(password))
也就是2層md5加密。這個解決了破解問題。但是依然解決不了。明文密碼被截獲的可能。
明文密碼被截獲幾乎無可避免。只要人家在程序上做點文章你的密碼就會被人知道。
解決 向我上面說的那樣 一個網站一個吧。不重要的網站用一個。重要的1個網站1個密碼好了。
內幕說的很多了。其他的我也不方便多說。
要用戶的明文密碼幹嘛?
為了萬一,和天朝你懂得。還有商業利益。郵箱——密碼的價格在黑市上價格可不便宜。
光email地址就。。。。。。
哈哈你懂得。
其他我不會再說了。
网络·技术 | 评论:0
| 阅读:205
Post by tywtyw2002 on 2010, June 13, 8:23 AM
2個月沒看了 感覺忘了很多
ospf還算可以 , bgp初級的沒問題,在深點就不行了。
分組交換 atm 等等還是一頭霧水呀。。。。
Tags: cisco
网络·技术 | 评论:0
| 阅读:163
Post by tywtyw2002 on 2010, March 23, 6:28 AM
本方法是基于路由器如果发现数据包的目的ip不存在于路由表中而且没有配置default-gateway就会丢弃此包和路由器的null0逻辑接口。
所有设置都是建立在cisco路由器上的。
模拟条件是cisco 3640 ios:c3640-js-mz.124-10.bin
模拟器是gns
ps 原来用ios:c3640-ik9o3s-mz.124-10.bin 不知道为什么路由表全对,但是ping不同。。。希望大家能够解答下。
注意这个封ip只是单向封锁。但是单向锁已经足够了 tcp无法建立 udp可以 但是收不到回复。做到双向封锁可以,也很简单 但是会有些问题 后面会去说。

请先看r1 r2 r3 r6, 忽略掉r4和r5, r2(core-route)是我们的核心路由。
然后r1 r2 r3 r6 中都配置相同的路由协议 ospf也 ripv2呀 ergip呀 bgp呀。 不过我用的是ergip 因为比较简单。 不用rip是因为rip 有点问题。 bgp我没做个实验正在想bgp的问题后面会详细的说下bgp的问题,这样 r1和r6是可以互相访问的。
然后我们在r6上开几个环回口(loopback)
int lo 0
ip ad 12.0.0.1 255.255.255.255
int lo 1
ip ad 12.0.0.10 255.255.255.255
r1也是能够访问到12.0.0.1和12.0.0.10的
出于一些原因我们不想让r1访问到 r6的地址(122.0.0.11)
变相的来说就是封锁r6的ip地址 但是我们想访问他的环回口。
一般情况下 我们可以用 access-list解决 在r1上设置
access-list 100 deny ip 122.0.0.11 0.0.0.0 any
access-list 100 premit ip any any
int fa0/0
ip access-group 100 out
ip access-group 100 in
这样 r6就被屏蔽了
如果ip在多点 写access会累死而且access的处理速度很慢的。
不限自己做做实验,写个2000条的access-list。
不用手写 用perl 写一个for循环。 直接telnet 输入。
好了解决的方法就是路由协议来封锁ip。 人畜无害,单一匹配 指哪打哪。
没有任何限制,占用cpu资源低。
目前公网上bgp路由器 都有30w条 条目了 ,他们依然能够在10ms内 把数据包转发出去。
我想3640这个路由器上配置个10000w条路由照样没问题吧?
不做bgp的话路由最多也就1000条 剩下9000条让你随便封ip。9000条还不够? 你就别internet了。 局域网的了。
好了开始介绍了。
r4 r5 出场。
r4和 r2上配置好 ospf ,如果 r1 r2 r3 r6是ospf 那么r4和 r2上的ospf as 要换另外的一个。
r4 r5 之间配置好rip v2. r4在配置好 rip 到ospf的重发布,优先级都调成最高。
这样就可以路由封锁ip了。
我们在r5上录入
ip route 122.0.0.11 255.255.255.255 null 0
tip:null 0 是一个逻辑接口 永远 up 发送过去的包等于直接丢弃,不会出现任何回复, 几乎不占用cup 。
几s 后 r2上就可以看到路由中 122.0.0.11/32的下一跳是r4了。
然后r1继续p r6
r1#p 122.0.0.11
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 122.0.0.11, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
tracert一下
r1#traceroute 12.0.0.11
Type escape sequence to abort.
Tracing the route to 12.0.0.11
1 1.0.0.2 20 msec 44 msec 32 msec
2 * * *
3 * * *
4 * * *
解释下这个traceroute为什么只有1条 其他都是*。
r2上 做了一条虚假路由 r6是永远到不了 现在变成了 r1 -》 r2 -》r4 -》r5-》丢弃
这样的话至少应该出现r4 和r5的信息呀?
因为r2上面没有做重分布 我也不想做重分布,所以r4的路由表只有r2和r5这2个直连路由和 r5 rip过来的虚假路由,他不知道r1怎么走,所以他先产生了一个icmp超时的数据包 然后丢弃了。
这样就保护了封锁路由器。
下面看看r6能不能访问 r1
r6#traceroute 1.0.0.1
Type escape sequence to abort.
Tracing the route to 1.0.0.1
1 122.0.0.1 44 msec 80 msec 32 msec
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8
p 1.0.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.0.0.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
在r1和r2之间抓包 看看
No. Time Source Destination Protocol Info
9 7.318000 122.0.0.11 1.0.0.1 ICMP Echo (ping) request
10 7.344000 1.0.0.1 122.0.0.11 ICMP Echo (ping) reply
12 9.327000 122.0.0.11 1.0.0.1 ICMP Echo (ping) request
13 9.335000 1.0.0.1 122.0.0.11 ICMP Echo (ping) reply
15 11.339000 122.0.0.11 1.0.0.1 ICMP Echo (ping) request
16 11.370000 1.0.0.1 122.0.0.11 ICMP Echo (ping) reply
17 13.297000 122.0.0.11 1.0.0.1 ICMP Echo (ping) request
18 13.308000 1.0.0.1 122.0.0.11 ICMP Echo (ping) reply
23 15.339000 122.0.0.11 1.0.0.1 ICMP Echo (ping) request
24 15.381000 1.0.0.1 122.0.0.11 ICMP Echo (ping) reply
r1 能够收到r6的请求 也恢复了请求 但是被r2无情的转发给了r4 然后r5 很高兴的把它丢掉了。。。
工作原理差不多了
开始解释 r4 r5为什么用ripv2
首先用rip就不能用v1 因为v1不支持可变掩码。就会导致ban ip 过多。
第二r5我一直将他当作一台服务器来用。哪位大牛编个程序想什么自动封锁ip呀的。这样不就需要r4做翻译了吗。ospf 难度很大 但是rip就简单多了。 比如gfw。。。
如果只想封锁固定ip 而且数量不多的话 就不用r5了 r4 了 直接在核心路由上面写静态路由到null0口就可以了。
但是如果出来路由很多呢? 3-4台 而且静态封锁ip经常变的话 就需要r4了 因为3-4台你能忙的来但是容易出错。随便找个2800做r4 多好。
如果出口路由在多点10+ 那就有的忙了。
其实我不建议在出口路由上做静态路由来封锁ip,因为出口路由最好不要动,动得越多出问题越多。
如果真要做静态路由还是在backbone上面做吧。
其实最好还是多加一台路由做基于路由协议的扩散吧。
关于双向封锁的问题。
双向封锁可以,
只要加入 ip verify unicast source reachable-via any就ok了
这个是大名鼎鼎的 urpf 简单的说,如果数据包不是从路由表中他应该走的端口发过来 那么这个数据包直接丢失。
但是这样会让路由出现很多问题。 只会出现在数量庞大的路由中。
现在的路由都是多条线路负载均衡的去走 ,很多情况下目前地址真的不是从路由器网这个目标端口发送的那个端口进入的的 而是从该路由的其他端口进来的。
这样那些正常的数据包就被丢掉了。
cisco的文档也说 这个设置会造成很多误杀。。。。
发现的问题 关于bgp的。
bgp我水平真的不好,承认。
但是bgp可以解决很多问题,单公司多地点办公,总部屏蔽其他分部也要屏蔽。
这个用ospf可以, tunnel就可以办到,但是bgp会更好一些。
如果墙呢? 肯定是bgp了。
bgp扩散问题好解决。只要不粗心屏蔽列表是不会外传的。(route map)
问题1 我记得bgp的更新好像是触发更新 但是有个延时。具体延时多少 我记得是1分钟。有人说bgp没有延时是实施更新。
Tags: cisco, ip封锁, ospf, bgp
网络·技术 | 评论:0
| 阅读:453