BENCHMARK,Get_lock函数,当都被禁用后可以用计算量比较大的语句使数据库查询时间变长,从而达到延时注入的效果。 mysql:AND (SELECT count(*) FROM information_schema.columns A, information_schema.columns B, information_schema.SCHEMATA C);
尽量使用POST,限制GET;浏览器Cookie策略;加验证码; Referer Check;Anti CSRF Token
Cookie
xxe常见场景是如pdf在线解析、word在线解析、定制协议,留言板等,跟逻辑设计有关而与语言无关,最好是不要让XML作为参数传输或整体结构可被用户篡改。如果一定要使用,至少要禁用DTD、Entity。 xxe危害 读取本地文件,执行系统命令,探测内网端口,攻击内网服务 探测内网端口的协议有gopher file dict,不同语言支持不同的协议,是具体情况而定 file http ftp是常用的
防范,python用lxml时可以对resolve_entities设为false。或者过滤用户提交的xml
客户端也可以有xxe攻击,有的网站会使用office打开docx进行解析 Java解析XML的常用三方库,如果不禁用DTD、Entity都会导致XXE漏洞:
javax.xml.stream.XMLStreamReader;
javax.xml.parsers.DocumentBuilderFactory;
常见的是反序列化漏洞
常见的为解析漏洞,6.0有 /test.asp/test.jpg test.asp;.jpg 7.5有test.jpg/.php,默认后缀IIS默认地还会解析其他后缀的文件为asp文件,比如cer asa cdx 原理大抵是IIS 5.x/6.0在从文件路径中读取文件后缀时,遇到一个“.”后,便进入了一种截断状态,在该状态下遇到特殊符号——“/”和“;”,都会进行截断,只保留特殊符号前的部分,即:“.asp”,从而认为文件后缀为“.asp”。
flask的模板注入 模板注入和常见Web注入的成因一样,也是服务端接收了用户的输入,将其作为 Web 应用模板内容的一部分,在进行目标编译渲染的过程中,执行了用户插入的恶意内容,因而可能导致了敏感信息泄露、代码执行、GetShell 等问题。 模板字符串中字符串拼接或替换可能会导致敏感信息泄露,获取变量值 如果开发者在flask使用字符串格式化,来将用户输入动态地加入到模板字符串中,而不是通过render_template_string函数,该函数不会对输入进行实体转义将URL传递进入模板内容当中,会导致xss的产生。 还可以利用模板中html标签属性字段绕过xss过滤。
Django出现过目录遍历漏洞
Http Trace攻击就可以将你的Header里的Cookie回显出来,利用Ajax或者flash就可以完成这种攻击;或者配置或者应用程序上可能Bypass,比如header头的泄漏