略
1、特定函数判断:mysql、mssql用len(),oracle用length() 2、注释符判断:"/*"是mysql的注释符,"--"是oracle和mssql的注释符,另外oracle不支持用";"做多行查询 3、错误信息判断:触发sql语法错误,根据报错信息判断数据库类型
考察手工注入,if(substr((sql_injection),1,1)='a',1,0)
这种
无数字字母Webshell
<?php if(!preg_match('/[a-z0-9]/is',$_GET['shell'])) { eval($_GET['shell']); }
顾名思义,eval中不允许传入数字和字母该怎么getshell,考察的是我们怎么利用PHP的特性来绕过这个限制,比较经典的三种方法是:
利用异或,两个字符串异或出我们需要数字或者字母,需要用脚本fuzz
利用汉字取反,一些汉字通过取反操作也能变成字母,也需要fuzz
利用自增/减符号,我们知道字符"A"++="B"
,所以只要构造出字符A,通过自加键运算就可以绕过限制
<?php $_=[].''; //得到"Array" $___ = $_[$__]; //得到"A",$__没有定义,默认为False也即0,此时$___="A"
五字符getshell
即允许用户执行命令,但是命令长度<=5要怎么getshell,这里用到比较多Linux的知识。
>x
可以创建名为x的空文件ls -t
可以让创建的文件按照时间排序那我们的思路是:通过新建特殊文件名的文件,让文件名最后以反斜杠结尾,再利用ls -t
排序,最后用管道符输入进文件里,再用sh命令执行命令。
1)信息收集 a. 查询站点的相关信息(真实ip,系统类型,版本,开放端口,WAF等) b. 网站指纹识别(包括,cms,cdn,证书等),dns记录 c. whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等) d. 全资子公司收集,子域名收集,C段等 2)漏洞挖掘 1> 对主站进行人工检测(burp+xray被动扫描),先挖一些xss、sql、越权漏洞、后台弱密码 2> 同时对收集到的属于目标资产的站点(包括子站,全资子公司),用工具批量扫漏洞(goby、awvs) 3> 验证检测出的漏洞,争取拿webshell 3)权限提升 a) mysql提权,serv-u提权,linux内核版本提权等 4)清除测试数据 | 输出报告 i 日志、测试数据的清理 ii 总结,输出渗透测试报告,附修复建议 5) 复测 验证并发现是否有新漏洞,输出报告,归档
赶紧补完啊,铸币。
在看了,在看了.jpg
我内网学的是个勾8,快学
简历中突出自己的优势点,不要等HR问,给HR一个大致影响。