web常见安全漏洞及策略
1.CSRF漏洞原理及验证
Cross Site Request Forgery:CSRF是伪造客户端请求的一种攻击,字面上的意思是跨站点伪造请求。这种攻击方式是国外的安全人员于2000年提出,国内直到06年初才被关注。CSRF的定义是强迫受害者的浏览器向一个易受攻击的Web应用程序发送请求,最后达到攻击者所需要的操作行为。
(1) http请求中是否采用token
的实现方式,如果不是,则存在CSRF漏洞
(2) http请求中删除token
信息发送请求,发送成功,则存在CSRF漏洞
(3) http请求中删除referer
信息,请求成功,则存在CSRF漏洞
(4) http请求中将post
请求修改为get
请求,请求成功,则存在CSRF漏洞
2.SQL注入原理及验证
SQL 注入就是指,在输入的字符串中注入 SQL 语句,如果应用相信用户的输入而对输入的字符串没进行任何的过滤处理,那么这些注入进去的 SQL 语句就会被数据库误认为是正常的 SQL 语句而被执行。
(1) 用户名和密码文本框中输入' or '1'='1
进行手工SQL注入操作
(2) 使用SqlMap
进行SQL注入 sqlmap.py –u url地址 –p指向注入的参数
3.XSS攻击原理及验证
跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为 XSS 。恶意攻击者往 Web 页面里插入恶意 JavaScript 代码,当用户浏览器该页之时,嵌入 Web 页面里的代码会被执行,从而达到恶意攻击用户的目的。
(1) 在需要进行提交操作的文本框中输入<script>alert(1)</script>
查看弹窗是否弹出,弹出则存在XSS漏洞
(2) 在需要进行提交操作的url参数中输入<script>alert(1)</script>
查看弹窗是否弹出,弹出则存在XSS漏洞
4.弱口令原理及验证
弱口令没有严格和准确的定义,通常认为容易被别人(它们有可能对你很了解)猜测或被破解工具破解的口令均为弱口令。弱口令指的是仅包含简单数字和字母的口令。
常见弱口令:
数据库默认及常用弱口令 root root123 123456 admin
Tomcat默认及常用弱口令 admin tomcat manger admin123 123456
Jboss默认及常用弱口令 admin、jboss、manager 123456
Weblogic默认及常用弱口令 weblogic、admin manager admin123
Nacos默认及常用弱口令 nacos admin admin123 nacos1
(1) 使用常用的密码及默认的软件名称作为密码和账号
(2) 使用BurpSuite
导入爆破字段进行密码和账号的爆破
5.任意url访问原理及验证
在地址栏中输入登录后的url信息,直接跳转到该页面说明存在漏洞,直接跳转到登录页说明不存在任意url跳转漏洞
6.文件上传原理及验证
上传的过程中,对上传文件未进行文件格式的校验造成任意文件上传,用户可以通过上传造成文件木马来对系统进行盗窃及破坏
(1) 验证上传文件的格式
(2) 修改上传文件的类型Content-Type
文件
(3) 上传截断型文件1.php\0.jpg
文件
(4) 上传截断型文件a.asp;.jpg
文件
7.越权原理及验证
不具备该权限的人进行了具体该权限的人的操作,造成权限隐患,容易造成信息泄露和系统安全问题
(1) 进行高权限操作获取token
,将token
替换成低权限的token
,请求成功,说明存在安全漏洞
(2) 进行高权限操作获取ID
,将ID
替换为地下权限的ID
,请求成功,说明存在安全漏洞
8.中间件原理及验证
中间件的安全漏洞也属于安全测试的范围,严重影响系统安全。
(1) 校验中间件弱口令
(2) 校验中间件未授权访问
,直接输入要测试的地址即可
9.信息泄露原理及验证
信息泄露会造成敏感信息和重要信息泄露造成系统安全隐患
(1) 查看页面源代码
是否存在敏感信息
(2) 查看js文件
内信息是否存在敏感信息
(3) 查看敏感数据
是否进行加密
10.目录遍历原理及验证
目录存在被泄露的风险,目录安全会间接的导致文件的泄露
(1)使用DirBuster
软件进行目录安全漏洞扫描