Web 攻防之业务安全:输入 / 输出模块测试.

Web 攻防之业务安全:输入 / 输出模块测试.-LMLPHP

业务安全是指保护业务系统免受安全威胁的措施或手段。广义的业务安全应包括业务运行的软硬件平台(操作系统、数据库,中间件等)、业务系统自身(软件或设备)、业务所提供的服务安全狭义的业务安全指业务系统自有的软件与服务的安全


目录

输入 / 输出模块测试:

测试原理和方法:

测试过程:

(1)SQL注入漏洞测试:

(2)XSS漏洞测试:

(3)命令执行漏洞测试:

防御方法建议:

(1)SQL注入漏洞防御方法建议:

(2)XSS漏洞防御方法建议:

(3)命令执行漏洞防御方法建议:


免责声明:

严禁利用本文章中所提到的技术进行非法攻击,否则后果自负,上传者不承担任何责任。


输入 / 输出模块测试:

测试原理和方法:

输入 / 输出模块可能存在:SQL注入,XSS,命令执行等漏洞.


测试过程:

(1)SQL注入漏洞测试:https://tianyuk.blog.csdn.net/article/details/122903983


(2)XSS漏洞测试:① https://tianyuk.blog.csdn.net/article/details/123396714

                                   ② https://tianyuk.blog.csdn.net/article/details/123555545


(3)命令执行漏洞测试:https://tianyuk.blog.csdn.net/article/details/122916853


防御方法建议:

(1)SQL注入漏洞防御方法建议:

① 限制数据类型

② 正则表达式匹配传入参数

③ 函数过滤转义

④ 预编译语句


(2)XSS漏洞防御方法建议:

可在 cookie 中设置 httponly.浏览器禁止页面的js访问带有httponly属性的cookie

② 输出检查.(编码,转义,常用编码:html编码,js编码,16进制等)
xss filter.检查输入,设置白名单方式
④ 针对不同位置的输出,使用不同的处理方式.

⑤ 后台可能存在过滤措施,构造的 script 可能会被过滤掉,而无法生效或者环境限制了执行.(浏览器
⑥ 处理富文本 .header 中使用 content-Sencurity-Policy 字段,规定请求 js 的域名白名单.(CSP策略


(3)命令执行漏洞防御方法建议:

① 对传入的命令做一个严格的过滤.

② 尽可能不要使用外部执行命令

③ 尽可能使用 escapeshellarg 函数来处理传入的命令参数.

   

     

04-08 12:46