一,SQL注入的原理和防御机制
原理:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,达到欺骗服务器执行恶意的SQL命令
防御机制:1.对用户输入的数据类型做严格限制
2.使用预编译绑定变量的SQL语句
3.过滤特殊字符
4.数据库信息加密,使用数据库防火墙,web防火墙
二,XSS注入的原理和防御机制
原理:恶意攻击者往Web页面里插入恶意javaScript代码,当用户浏览该页之时,嵌入其中Web里面的javaScript代码会被执行,从而达到恶意攻击用户的目的。
XSS与CSRF的区别:
是获取信息,不需要提前知道其他用户页面的代码和数据包。是代替用户完成指定的动作,需要知道其他用户页面的代码和数据包。
要完成一次CSRF攻击,受害者必须依次完成两个步骤:
1.登录受信任网站A,并在本地生成Cookie。
2.在不登出A的情况下,访问危险网站B。
防御机制:编码,过滤,校正,内容安全策略(CSP)
三,CSRF防御机制:
1.Token验证
2.check Referer
3.验证码
4.使用post请求方式
四.SSRF
原理:服务器端所提供的接口中包含了所要请求的内容的URL参数,并且未对客户端所传输过来的URL参数进行过滤。
防御机制:
1.设置url白名单或者限制内网ip
2.限制协议为HTTPS,HTTP
3.不用302重定向
五,sqlmap常用的注入方法:
post:-r,data
绕过防火墙的方法:
1.-random-agent #使用任意浏览器进行绕过,尤其是在WAF配置不当的时候
2.--hpp 参数污染进行绕过,尤其是在ASP.NET/IIS 平台上
3.--delay=3.5 --time-sec=60 #使用长的延时来避免触发WAF的机制,这方式比较耗时
4.--proxy 使用代理注入
5.--tor # 匿名注入
6.--tamper 编码脚本
risk:越高风险越高,功能会篡改数据库内容,增加危险的sql注入语句
level:不仅仅是增加sql注入payload,还会加大注入面,更加全面的扫描
六.问题:
1.给你一个网站你是如何来渗透测试的?
在获取书面授权的前提下。
1)信息收集,
1,获取域名的whois信息,获取注册者邮箱姓名电话等。
2,查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。
3,查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞
4,查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。
5,扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针
6,google hack 进一步探测网站的信息,后台,敏感文件
2)漏洞扫描
开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含,
远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等
3)漏洞利用
利用以上的方式拿到webshell,或者其他权限
4)权限提升
提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉,
linux藏牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权
5) 日志清理
6)总结报告及修复方案
2.mysql的网站注入,5.0以上和5.0以下有什么区别?
3.在渗透过程中,收集目标站注册人邮箱对我们有什么价值?
4.判断出网站的CMS对渗透有什么意义?
5.一个成熟并且相对安全的CMS,渗透时扫目录的意义?
6.常见的网站服务器容器。
7.mysql注入点,用工具对目标站直接写入一句话,需要哪些条件?
8.目前已知哪些版本的容器有解析漏洞,具体举例。
9.如何手工快速判断目标站是windows还是linux服务器?
10.为何一个mysql数据库的站,只有一个80端口开放?
11.3389无法连接的几种情况。
12.如何突破注入时字符被转义?
13.在某后台新闻编辑界面看到编辑器,应该先做什么?
14.拿到一个webshell发现网站根目录下有.htaccess文件,我们能做什么?
15.注入漏洞只能查账号密码?
16.安全狗会追踪变量,从而发现出是一句话木马吗?
17.access 扫出后缀为asp的数据库文件,访问乱码。如何实现到本地利用。
18.提权时选择可读写目录,为何尽量不用带空格的目录?
19.某服务器有站点A,B 为何在A的后台添加test用户,访问B的后台。发现也添加上了test用户?
20.注入时可以不使用and 或or 或xor,直接order by 开始注入吗?
and/or/xor,前面的1=1、1=2步骤只是为了判断是否为注入点,如果已经确定是注入点那就可以省那步骤去。
21:某个防注入系统,在注入时会提示:
如何利用这个防注入系统拿shell?
22.上传大马后访问乱码时,有哪些解决办法?
23.审查上传点的元素有什么意义?
24.目标站禁止注册用户,找回密码处随便输入用户名提示:“此用户不存在”,你觉得这里怎样利用?
25.目标站发现某txt的下载地址为http://www.test.com/down/down.php?file=/upwdown/1.txt,你有什么思路?
26.甲给你一个目标站,并且告诉你根目录下存在/abc/目录,并且此目录下存在编辑器和admin目录。请问你的想法是?
27.在有shell的情况下,如何使用xss实现对目标站的长久控制?
28.后台修改管理员密码处,原密码显示为*。你觉得该怎样实现读出这个用户的密码?
29.目标站无防护,上传图片可以正常访问,上传脚本格式访问则403.什么原因?
30.审查元素得知网站所使用的防护软件,你觉得怎样做到的?
31.在win2003服务器中建立一个 .zhongzi文件夹用意何为?