产生注入的本质是输入,是程序将输入做为代码执行php
根本的防护方法就是作好数据和代码层面的隔离。前端
安全没有银弹,遵循木桶原则,一个短板就会让整个系统沦陷mysql
web渗透做为一个应用技能,须要的知识体系繁杂,几乎囊括了整个IT行业。。。。。linux
需求技能:nginx
一、前端web
HTML/CSS/JS,了解前端的基础,至少熟悉常见的HTML标签和JS的经常使用框架sql
二、网络基础shell
TCP/IP协议栈中的各类协议,熟悉常见的路由交换防火墙的和其余硬件安全设备的操做和原理数据库
三、HTTP协议apache
熟悉整个HTTP协议的构成
四、服务器(容器)
apache,nginx的配置和原理
五、后端
至少熟悉一门后端语言,能制做网站
六、数据库
熟悉常见数据库的结构和SQL语句的区别
七、操做系统
windows和linux经常使用命令
八、脚本语言
任意一门脚本语言用于编写自动化的脚本
九、渗透工具
熟练实用经常使用趁手的工具,有实力的话就本身编写
大体步骤:
最终目的:拿shell、脱裤子、篡改页面
0x00、渗透前--信息收集
阶段目的:收集此站点相关的各类有用信息
一、外部信息收集
旁站、C段、whois、nslookup
robots.txt、后台目录、上传目录、编辑器、IIS端文件、phpinfo
目录扫描:御剑(字典)、爬行菜刀(爬虫)
端口扫描:nmap、ScanPort
子域名扫描:Layer子域名挖掘机(字典)
二、整站分析
服务器平台、版本
中间件 IIS、Apache、Nginx、tomcat
语言 ASP、ASP、XPHP、JSP
数据库 access、sqlserver、mysql、oracle、ms-sql
CMS类型 织梦cms
WAF类型扫描: waf指纹识别 wafw00f
站点特征扫描:nmap
三、谷歌hacker
intext: 查找网页中含有xx关键字的网站 例子:intext:管理员登陆
intitle: 查找某个标题 例子:intitle:后台登陆
filetype: 查找某个文件类型的文件 例子:数据挖掘filetype:doc
inurl: 查找url中带有某字段的网站 例子:inurl: .php?id=
site: warning 在某域名中查找信息
四、后台查找
御剑(字典)、爬行菜刀(爬虫)、robots.txt、google hcaker、CMS
五、CDN绕过
站长工具多地ping测试是否有CDN
查子域名
让服务器主动发包(发邮件)
查历史解析IP ip138 微步在线
修改hosts文件 直接访问网站真实地址
0x0一、渗透实施--漏洞分析并利用
0、找出站点CMS类型,直接搜索漏洞利用
M7lrv 批量扫url,识别cms,攻击漏洞
一、AWVS 网站全面漏洞扫描,爬虫爬全站,并扫描漏洞
收集信息,站点服务器的操做系统,后端语言,数据库类型
找到能够利用的漏洞,主要是SQL注入,XSS,文件上传漏洞
二、存在sql注入漏洞时
利用sqlmap扫描,找后台登陆的用户名密码,及其余有用的数据
使用tamper,利用url,0xFF,base64,注释符号等各类方式绕过WAF
三、注入漏洞没法利用时,存在xss漏洞时候
利用xss平台,劫持cookie登陆后台
四、没有其他明显漏洞时
爆破,PKAV HTTP Fuzzer爆破(可识别验证码)
五、登陆后台,利用burpsuite抓包,修改数据包,上传漏洞上传webshell
六、菜刀连webshell
利用burpsuite抓包,修改数据包绕过WAF,同时注意发送的数据包,留意菜刀自己的后门
0x0二、后渗透阶段--维持权限
一、利用exp提权,得到管理员权限
二、种木马维持权限,防止被发现
种个远控木马(gh0st),反弹shell来管理
0x0三、迂回包抄--旁站渗透
当目标站点没有明显可利用的漏洞的时候,不妨试试旁站