渗透测试面试问题
SQL的存储引擎
答:数据库中建立的数据库对应着文件夹,库中的表对应着文件,表中存储的数据对应着文件中的数据。数据库的表有不同的类型,根据表的不同,会对应不同的存取机制,表的类型又称为存储引擎。存储引擎控制着如何存取数据、如何为数据建立索引、如何更新、如何查询等技术的实现。
MySQL
mysql有许多的存储引擎,比较常用的存储引擎有:innoDB、MyISAM、MEMORY等;
- innoDB是mysql默认的数据引擎,支持事务处理、支持外键、支持崩溃修复能力和并发控制;
- MyISAM在执行插入操作时对于空间和内存的使用比较低,如果表要进行大量的插入和读出,或者应用的完整性和并发要求比较低,可以优先选用MyISAM;
- MEMORY,数据存储于内存中,数据处理速度快,但是安全性不高,如何需要快速读写,而对于安全性没有太高的要求可以使用MEMORY。但MEMORY对表的大小有要求,一般不能建立太大的数据库。
SQL注入写shell的条件和用法
MySQL
条件:
- 对于目录有写的权限
- secure_file_priv=空或者要写入的目录,反正不能是NULL
- 知道网站的根目录
用法:
- select “shell_content” into outfile path/file
GPC是什么?开启了怎么绕过
是什么:
php.ini中的magic_quotes_gpc,默认为off,如何打开了,会实现addslashes()和stripslashes()的功能,对于从GET,POST,COOKIE输入的单引号、双引号、反斜线和NULL会加反斜线进行转义
开启了如何绕过:
利用$_SERVER、$_ENV、$_SESSION等来传参,但是$_SERVER、$_ENV一般不好控制,但是http的请求头的内容是可以在$_SERVER读取的,因此可以
利用数据库中转,被加了引号之后,如何内容被存入了数据库,那么存入的内容仍然是不被转义的原内容,再次借助select 读取插入的元数据然后进行执行,可以绕过GPC
利用文件中转,先将数据写入文件,然后进行include并执行
编码解码绕过(UTF-7、GBK、二次编码等)
Mysql一个@和两个@什么区别
- @x 是 用户自定义的变量
- @@x 是 global或session变量
IIS解析漏洞,不同版本有什么漏洞,还有什么容器解析漏洞
IIS
IIS6.0目录解析漏洞和文件解析漏洞
目录解析漏洞和文件解析漏洞
- 目录解析漏洞:*.asp命名的文件夹内的文件都当做asp
- 文件解析漏洞:*.asp;.jpg这种文件;及之后会被忽略,最终解析为asp
- .asp .cer .asa .cdx都可能被解析
IIS7.0&7.5畸形解析漏洞
条件
- 运行在fash-cgi模式
- php.ini的cgi.fix_pathinfo=1
文件/.php会被当做php来执行,和php对于文件的解析顺序有关,以/分隔,从后向前判断是否存在,存在就当做php代码来执行
Apache解析漏洞
- 多后缀解析漏洞(与解析顺序有关)
- 特殊后缀解析漏洞(配置不当,如phtml、php3、php5等)
- 自定义解析文件(.htaccess/.user.ini)
- CVE-2017-15715(%0a换行符绕过黑名单)
nginx解析漏洞
- 畸形解析漏洞:文件/.php会被当做php来执行,和php对于文件的解析顺序有关,以/分隔,从后向前判断是否存在,存在就当做php代码来执行
- %00截断(严格来说是php配置的漏洞,nginx版本要求0.5、0.6、0.7<=0.7.65、0.8 <= 0.8.37 )
- CVE-2013-4547(非编码空格绕过后缀名限制,版本要求0.8.41~1.4.3,1.5.x <= 1.5.7)
- 配置不当导致路径穿越
linux计划任务,黑客隐藏自己的计划任务会怎么做。windows计划任务怎么设定
- Linux下常用at、batch、cron做定时计划,at和batch是一次性的,cron是周期性的
- 至于隐藏我现在没有想到很好的方法,似乎可以起一个和系统配置比较想的文件名然后把要执行的命令放在里面
- windows下定时计划:计划任务、SchTasks、Windows Service、SQL Agent(数据库相关)
挖过最难的漏洞是什么
暂时还没怎么接触挖洞,但在一次实战比赛中拿过某图书馆的shell,那台机器上有不记得一个什么软件了,需要做一下免杀,百度找了个免杀的马,就过了拿shell了,后续也没继续往下做,因为有点菜
病毒和蠕虫的区别
病毒能够消耗系统的资源、破坏系统的结构,但是病毒一般不具有自我复制性,一般的破坏对象只有受感染的计算机本身,蠕虫其实也算是病毒的一种,但是他能够自我复制自我传播,攻击对象是互联网上的所有计算机
DNS欺骗是什么
DNS协议是将域名转换为IP地址的协议,因为只有IP地址才是确定的地址,我们可以通过污染他的DNS,把被攻击方的主机要访问的地址解析到我们的IP地址,就可以以此进行钓鱼等其他操作
OWASP TOP10漏洞有哪些?
参考文章 https://www.cnblogs.com/LuckyEnterprise/p/11519158.html
- 注入
- 失效的身份认证和会话管理(破损认证)
- XSS(跨站脚本攻击)
- 不安全的对象直接引用
- 跨站请求伪造(CSRF)
- 安全配置错误
- 限制URL访问失败(缺少功能级访问控制)
- 未验证的重定向和转发
- 应用已知漏洞的组件
- 敏感信息暴露
渗透测试的流程是什么
- 申请授权
- 信息搜集
- 漏洞探测
- 漏洞利用
- 后渗透
- 清理痕迹
- 生成报告
本文链接: https://yd0ng.github.io/2020/02/27/%E9%9D%A2%E8%AF%95%E9%97%AE%E9%A2%98%E5%87%86%E5%A4%87/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!