首页
📷在线壁纸
🎬娱乐天地
🔖友情链接
更多
📝留言板
Search
1
【javascript】JS-向当前url追加参数
2,345 阅读
2
【PHP】生成随机昵称
2,202 阅读
3
【PHP】判断一个字符串是否属于序列化后的数据
2,024 阅读
4
【css】html+css给文章页,做阅读全文
1,975 阅读
5
【PHP】 设计模式(23种)
1,909 阅读
📂默认分类
💓typecho
🏳️🌈代码改变世界
🍇 mysql
🍈 Winform
🍓 golang
🍉 设计模式
🥝 PHP
🍎 python
🍊 nginx
🍋 网络安全
🍍 javascript
🫑 database
🍡 AI
🍭文艺范
🍏mac
登录
Search
标签搜索
php
typecho
代码注释
redis
mysql
go
golang
nginx
thinkphp
docker
gin
linux
curl
html
mamp
算法
短网址
构造函数
webhook
代码片段
依然范儿特西
累计撰写
145
篇文章
累计收到
1
条评论
首页
栏目
📂默认分类
💓typecho
🏳️🌈代码改变世界
🍇 mysql
🍈 Winform
🍓 golang
🍉 设计模式
🥝 PHP
🍎 python
🍊 nginx
🍋 网络安全
🍍 javascript
🫑 database
🍡 AI
🍭文艺范
🍏mac
页面
📷在线壁纸
🎬娱乐天地
🔖友情链接
📝留言板
搜索到
2
篇与
的结果
2021-12-09
渗透测试
渗透测试原理由安全专家对网站应用系统,尤其是通过基于 web 的应用系统进行应用安全评估和渗透测试,发现和弥补应用系统存在的弱点。安全专家模拟黑客全面检测 web 应用存在的漏洞并使用攻击向量对漏洞进行控制操作,评估漏洞对企业平台功能或资产可以造成的损害,进面评估对企业业务的影响。原理如图所示:标准遵从国内标准:GB/T 17859-1999 计算机信息系统安全保护等级划分准则GB/T 20984-2007 信息安全技术 信息安全风险评估规范GB/T 19716-2005 信息技术 信息安全管理实用规则GB/Z 20986-2007 信息安全事件分类分级指南GB/T18336-2008 信息技术 安全性评估准则GB/T 20988-2007 信息系统灾难恢复规范GB/T 32213-2015 信息安全技术 公钥基础设施 远程口令鉴别与密钥建立规范GB/T 31722-2015 信息技术 安全技术 信息安全风险管理GB/T 35284-2017 信息安全技术 网站身份和系统安全要求与评估方法国际标准:ISO27000 系列ISO15408 信息技术安全评估准则Microsoft 和 IBM 软件开发生命周期OWASP TOP 10 Web 安全应用风险ISO13335 信息技术-IT 安全管理指南CC-ISO15408 信息技术安全性评估准则NIST SP 800-30 信息技术系统风险管理指南NIST SP 800-26 信息技术系统安全自我评估指南美国国家安全局 (NAS) 发布的 SSE-CMM V2.0 模型漏洞评级定义序号漏洞名称漏洞危害1核心功能认证缺失高2系统命令注入高3SQL 注入高4恶意文件/脚本上传高5访问控制失效(水平/垂直越权)高6敏感文件下载高7服务器端模板注入高8Python 代码注入高9相对路径遍历中10GET 方法提交敏感参数高11LDAP 注入高12XML 注入(XXE)高13XPath 注入高14存储型 XSS高15反射型 XSS中16DOM XSS中17敏感文件泄露高18访问控制失效(强制浏览)高19业务逻辑绕过高/中/低20不安全的密码重置功能(任意密码重置)高21短信轰炸、邮箱轰炸中22不可用的功能高23敏感信息被明文返回中24敏感信息未被加密存储在后端数据库中25敏感信息未加密中26CSRF中27暴力破解中28URL 重定向中29未加盐的密码哈希中30敏感错误信息泄露低31邮件地址泄露低32用户名枚举低33内部主机名泄露低34内部 IP 泄露低35通过 HTTP 请求的 SQL 语句枚举数据库信息高36超级管理员控制台可被 Internet 访问中37密码复杂度要求缺失中38登录后会话 ID 未更新中39允许未受信任的 SSL 证书中40可预测的会话 Cookie中41Cookie 存储敏感信息中42未强制加密中43未被设置为安全的会话 Cookie中44没有登出功能中45不过期的会话中46登出功能不终止会话中47应用允许同时登陆中48未启用端对端加密机制中49敏感信息缓存中50非必要的 HTTP 方法中51跨域资源共享(CORS)低52缺少更改密码功能中53表单开启自动填写功能低54服务器允许列出目录列表低55跨域脚本包含低56不完整的登出(子窗口不关闭)低57会话过期后无重定向低58Robots.txt 文件暴露网站结构低59敏感代码注释低60服务器信息泄露低61Cookie 未设置 HTTPOnly低62VIEWSTATE 参数泄露敏感信息低63过长的会话过期时间低64缺少 Strict Transport Security 头部低65HTTP.sys 远程代码执行中66OpenSSL 心跳信息泄露(心脏流血)中67软件版本过低低68操作系统版本过低低69脆弱的软件组件低70不受支持/易被攻击的版本低71Host 头部注入中72开放多余的服务中73脆弱的 SSL 版本(SSLv2,SSLv3)中74支持 SSL 脆弱加密套件中75跨框架脚本攻击(CFS)中76允许外域 Flash 访问中77服务器存在非必要文件低78Flash 参数“Allow Script Access”被设置为“Always”低79服务器隐藏目录被发现低80未设置 X-Frame-Options 头低81未设置 X-Content-Type-Options 头低82未设置 Cache-Control 头低83弱口令高84SNMP 弱口令中渗透测试工具集渗透测试团队用到的渗透测试工具集参考名称作用归属nmap端口扫描、主机发现信息收集subDomainsBrute子域名发现信息收集firebug数据分析信息收集wireshark数据分析信息获取Fiddler数据分析信息收集whois收集信息信息收集DirBrute目录扫描信息收集wpscan漏洞扫描漏洞发现Burpsuite综合利用工具信息收集AWVS漏洞扫描器漏洞发现Beef XSS综合利用漏洞利用hydra暴力破解漏洞利用metasploit渗透测试框架漏洞利用sqlmapSQL 注入利用漏洞利用HavijSQL 注入利用漏洞利用struts2利用工具 针对 struts2 漏洞漏洞利用中国菜刀管理 webshell漏洞利用nc端口转发内网渗透lcx端口转发内网渗透reGeorgproxy流量转发内网渗透proxychain代理工具内网渗透reDug流量转发内网渗透Tunna流量转发内网渗透mimikatzwindows 密码获取内网渗透AndroidKiller反编译 apk 文件源码获取ApkToolkit反编译 apk 文件源码获取APKIDE反编译 apk 文件源码获取jd-guijava 反编译源码分析Winhex编辑工具二进制分析常见漏洞测试方法SQL 注入测试将数据包中存在参数的值修改为测试语句,并观察返回包数据常见测试语句内容如下:AND 1=1/ AND 1=2 'AND '1'='1/'AND '1'='2 "AND "1"="1/"AND "1"="1━ XSS 漏洞测试将数据包中存在参数的值修改为测试语句,并观察返回包数据常见测试语句内容如下:“;prompt(document.cookie);// ‘“><script>alert(document.cookie)</script>━ 越权漏洞测试将数据包中参数进行修改,观察返回数据包中是否包含超出用户权限的数据。━ 逻辑漏洞测试将数据包中参数进行修改,观察返回数据包中违反正常业务逻辑是否可被系统执行。━ 暴力破解漏洞测试短时间内大量发送含有测试语句的数据包至特定身份认证接口,观察返回数据包状态, 判断是否已发送数据包均被系统处理。━ 短信轰炸漏洞测试使用测试工具短时间内频繁发送请求短信数据包,观察系统是否存在短信发送频率限制。━ 任意文件下载漏洞测试下载系统文件,观察是否对用户查看或下载的文件不做限制。━ 跨站请求伪造测试构造请求之后以其他账户身份登录之后点击,观察该请求操作是否被执行。━ URL 重定向测试在 URL 中构造一个恶意地址,查看用户是否跳转到恶意网站。━ 敏感信息泄露测试发送请求数据包,观察其中是否存在敏感信息.
2021年12月09日
270 阅读
2 评论
0 点赞
2021-11-12
php防sql注入过滤代码
php防sql注入过滤代码防止sql注入的函数,过滤掉那些非法的字符,提高sql安全性,同时也可以过滤XSS的攻击。function filter($str) { if (empty($str)) return false; $str = htmlspecialchars($str); $str = str_replace( '/', "", $str); $str = str_replace( '"', "", $str); $str = str_replace( '(', "", $str); $str = str_replace( ')', "", $str); $str = str_replace( 'CR', "", $str); $str = str_replace( 'ASCII', "", $str); $str = str_replace( 'ASCII 0x0d', "", $str); $str = str_replace( 'LF', "", $str); $str = str_replace( 'ASCII 0x0a', "", $str); $str = str_replace( ',', "", $str); $str = str_replace( '%', "", $str); $str = str_replace( ';', "", $str); $str = str_replace( 'eval', "", $str); $str = str_replace( 'open', "", $str); $str = str_replace( 'sysopen', "", $str); $str = str_replace( 'system', "", $str); $str = str_replace( '$', "", $str); $str = str_replace( "'", "", $str); $str = str_replace( "'", "", $str); $str = str_replace( 'ASCII 0x08', "", $str); $str = str_replace( '"', "", $str); $str = str_replace( '"', "", $str); $str = str_replace("", "", $str); $str = str_replace(">", "", $str); $str = str_replace("<", "", $str); $str = str_replace("<SCRIPT>", "", $str); $str = str_replace("</SCRIPT>", "", $str); $str = str_replace("<script>", "", $str); $str = str_replace("</script>", "", $str); $str = str_replace("select","",$str); $str = str_replace("join","",$str); $str = str_replace("union","",$str); $str = str_replace("where","",$str); $str = str_replace("insert","",$str); $str = str_replace("delete","",$str); $str = str_replace("update","",$str); $str = str_replace("like","",$str); $str = str_replace("drop","",$str); $str = str_replace("DROP","",$str); $str = str_replace("create","",$str); $str = str_replace("modify","",$str); $str = str_replace("rename","",$str); $str = str_replace("alter","",$str); $str = str_replace("cas","",$str); $str = str_replace("&","",$str); $str = str_replace(">","",$str); $str = str_replace("<","",$str); $str = str_replace(" ",chr(32),$str); $str = str_replace(" ",chr(9),$str); $str = str_replace(" ",chr(9),$str); $str = str_replace("&",chr(34),$str); $str = str_replace("'",chr(39),$str); $str = str_replace("<br />",chr(13),$str); $str = str_replace("''","'",$str); $str = str_replace("css","'",$str); $str = str_replace("CSS","'",$str); $str = str_replace("<!--","",$str); $str = str_replace("convert","",$str); $str = str_replace("md5","",$str); $str = str_replace("passwd","",$str); $str = str_replace("password","",$str); $str = str_replace("../","",$str); $str = str_replace("./","",$str); $str = str_replace("Array","",$str); $str = str_replace("or 1='1'","",$str); $str = str_replace(";set|set&set;","",$str); $str = str_replace("`set|set&set`","",$str); $str = str_replace("--","",$str); $str = str_replace("OR","",$str); $str = str_replace('"',"",$str); $str = str_replace("*","",$str); $str = str_replace("-","",$str); $str = str_replace("+","",$str); $str = str_replace("/","",$str); $str = str_replace("=","",$str); $str = str_replace("'/","",$str); $str = str_replace("-- ","",$str); $str = str_replace(" -- ","",$str); $str = str_replace(" --","",$str); $str = str_replace("(","",$str); $str = str_replace(")","",$str); $str = str_replace("{","",$str); $str = str_replace("}","",$str); $str = str_replace("-1","",$str); $str = str_replace("1","",$str); $str = str_replace(".","",$str); $str = str_replace("response","",$str); $str = str_replace("write","",$str); $str = str_replace("|","",$str); $str = str_replace("`","",$str); $str = str_replace(";","",$str); $str = str_replace("etc","",$str); $str = str_replace("root","",$str); $str = str_replace("//","",$str); $str = str_replace("!=","",$str); $str = str_replace("$","",$str); $str = str_replace("&","",$str); $str = str_replace("&&","",$str); $str = str_replace("==","",$str); $str = str_replace("#","",$str); $str = str_replace("@","",$str); $str = str_replace("mailto:","",$str); $str = str_replace("CHAR","",$str); $str = str_replace("char","",$str); return $str; } 更加简便的防止sql注入的方法(推荐使用这个): if (!get_magic_quotes_gpc()) // 判断magic_quotes_gpc是否为打开 { $post = addslashes($name); // magic_quotes_gpc没有打开的时候把数据过滤 } $name = str_replace("_", "\_", $name); // 把 '_'过滤掉 $name = str_replace("%", "\%", $name); // 把' % '过滤掉 $name = nl2br($name); // 回车转换 $name= htmlspecialchars($name); // html标记转换 return $name; PHP防XSS 防SQL注入的代码/** * 过滤参数 * @param string $str 接受的参数 * @return string */ static public function filterWords($str) { $farr = array( "/<(\\/?)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU", "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU", "/select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile|dump/is" ); $str = preg_replace($farr,'',$str); return $str; } /** * 过滤接受的参数或者数组,如$_GET,$_POST * @param array|string $arr 接受的参数或者数组 * @return array|string */ static public function filterArr($arr) { if(is_array($arr)){ foreach($arr as $k => $v){ $arr[$k] = self::filterWords($v); } }else{ $arr = self::filterWords($v); } return $arr; } 在防止被注入攻击时,常会用到两个函数:htmlspecialchars()和addslashes() 、trim()函数。这两个函数都是对特殊字符进行转义。1)addslashes()作用及使用addslashes() 通常用于防止sql注入,它可对通过get,post和cookie传递过来的参数的单引号和双引号已经null前加“\”进行转义如:如变量 $str=$_POST["str"];的值为:bb' or 1='1。通过addslashes()函数过滤后会变为:bb\' or 1=\'1;2)htmlspecialchars()作用及使用htmlspecialchars()也是对字符进行转义,与addslashes()不同的是htmlspecialchars()是将特殊字符用引用实体替换。如alert('xss')通过htmlspecialchars()过滤后为alert('xss')</script>3)addslashes()与htmlspecialchars()的区别除了两个函数的转义方式不同外,它们的使用也不同。addslashes()通过用于防止sql语句注入,在执行sql语句前对通过get、post和cookie传递来的参数中的单引号,双引号,\ 和null进行转义。但sql执行成功后,插入到数据库中的数据是不带有转义字符\的。这是如果插入到数据库中的是一些js脚本,当这些脚本被读取出来时还是会被执行。这是我们可对读取出来的数据使用htmlspecialchars()进行过滤,避免执行被注入的脚本。
2021年11月12日
466 阅读
0 评论
2 点赞