本文已参与「新人创作礼」活动,一起开启掘金创作之路。
SQL注入:
sql注入是指web应用程序对用户输入的数据过滤不严谨,攻击者可以在web应用程序中代码里的查询语句进行传参,进行sql注入攻击。
XSS攻击:
SQL注入拼接的是操作数据库的SQL语句。XSS拼接的是网页的HTML代码,一般而言我们是可以拼接出合适的HTML代码去执行恶意的JS语句(总结:XSS就是拼接恶意的HTML) 盗取Cookie并发送,获取内网IP。 反射型XSS 存储型XXS DOM型XSS
文件上传漏洞:
程序员在对用户文件上传部分的控制不足或者处理缺陷,导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell 造成文件上传漏洞的原因 1 对于上传文件的后缀名(扩展名)没有做较为严格的限制 2 对于上传文件的MIMETYPE(用于描述文件的类型的一种表述方法) 没有做检查 3 权限上没有对于上传的文件目录设置不可执行权限,(尤其是对于shebang类型的文件) 4 对于web server对于上传文件或者指定目录的行为没有做限制 ?file=php://filter/read=convert.base64-encode/resource=index.php
中间人攻击 中间人攻击是一个(缺乏)相互认证的攻击;由于客户端与服务器之间在SSL握手的过程中缺乏相互认证而造成的漏洞
防御中间人攻击的方案通常基于一下几种技术
1.公钥基础建设PKI 使用PKI相互认证机制,客户端验证服务器,服务器验证客户端;上述两个例子中都是只验证服务器,这样就造成了SSL握手环节的漏洞,而如果使用相互认证的的话,基本可以更强力的相互认证
2.延迟测试 使用复杂加密哈希函数进行计算以造成数十秒的延迟;如果双方通常情况下都要花费20秒来计算,并且整个通讯花费了60秒计算才到达对方,这就能表明存在第三方中间人。
3.使用其他形式的密钥交换形式 ARP欺骗 原理
每台主机都有一个ARP缓存表,缓存表中记录了IP地址与MAC地址的对应关系,而局域网数据传输依靠的是MAC地址。在ARP缓存表机制存在一个缺陷,就是当请求主机收到ARP应答包后,不会去验证自己是否向对方主机发送过ARP请求包,就直接把这个返回包中的IP地址与MAC地址的对应关系保存进ARP缓存表中,如果原有相同IP对应关系,原有的则会被替换。这样攻击者就有了偷听主机传输的数据的可能
防护
1.在主机绑定网关MAC与IP地址为静态(默认为动态),命令:arp -s 网关IP 网关MAC
2.在网关绑定主机MAC与IP地址
3.使用ARP防火墙
wireshark简单的过滤规则 过滤ip:
过滤源ip地址:ip.src==1.1.1.1;,目的ip地址:ip.dst==1.1.1.1;
过滤端口:
过滤80端口:tcp.port==80,源端口:tcp.srcport==80,目的端口:tcp.dstport==80
协议过滤:
直接输入协议名即可,如http协议http
http模式过滤:
过滤get/post包http.request.mothod=="GET/POST"