(长期更新)【渗透测试 / 护网蓝队初、中级 / 安全服务 / 重保值守】 面试题目收集

这是一篇长期更新的随笔,如有更好的面试经验 / 题目分享,欢迎联系我~


Web安全方面

该部分主要收集关于Web安全方面的面试经验,主要是TOP10,外网打点,Web信息收集等。
推荐配合靶场练习更容易理解。

1. SQL注入的原理是什么?

SQL注入主要是由于意料之外的拼接和解析SQL语句造成。
当服务端使用语句拼接的方式构建SQL语句并带入后台查询时,
如果用户构造恶意的SQL语句并与服务端SQL语句拼接,
就会造成SQL注入攻击。

2. SQL注入绕过WAF的方式有哪些?

包括但不限于:编码伪装(如URL编码,Unicode编码),转义字符伪装,大小写伪装,双写伪装,内联注释伪装

3. 如何利用SQL注入写入Shell?

利用into outfile函数即可写入Shell,或利用sqlmap的--os-shell功能。

4. 如何防止SQL注入攻击?

使用预编译语句或者参数化查询,或最小化数据库权限,安全配置数据库参数,使用WAF检测等。

5. SQL注入除了可以在网页构造注入点,还有哪些地方可以成为注入点?

还可以在HTTP请求的头信息进行SQL注入,包括但不限于:User-Agent,Referer,Cookie,X-Forwarded-For,Host等。

6. SQL注入的报错函数有哪些?请举例。

updatexml(),extractvalue(),floor(),ST_LatFromGeoHash(),ST_LongFromGeoHash(),
GTID_SUBSET(),GTID_SUBTRACT(),ST_Pointfromgeohash()
(一般只用到前三个)

7. 关于SQL盲注,你能简单说一下吗?

好的,盲注是在有回显SQL注入的基础上,依然将SQL语句代入执行,但并无直观的回显,这种类型的SQL注入叫做SQL盲注。
盲注大致分两种类型:布尔盲注 / 时间盲注
布尔盲注是有且只有True / False 两种情况的直观回显。
时间盲注是并无任何直观回显,我们需要利用if(),sleep()等函数构造时间差来使回显直观化。

8. sqlmap你有使用过吗?简单说一下一个sqlmap攻击流程?

有用过,sqlmap主要是先用--dbs探测能否注入出来数据库,然后再用--tables来注入出来数据表,
随后--columns注入出列(字段),最后--dump注入出数据。
同时也可以--os-shell直接写入Shell。

9. MySQL5.0以下和5.0以上注入有什么区别?

5.0以下没有information_schema这个内置表,只能利用类似盲注的方式暴力跑库。
5.0以上可以用information_schema来直观注入。

10. SQL注入如果空格被过滤了,那么应该怎么替代空格?

%0a,%0b,%a0,/**/等。

长期更新,未完待续......

热门相关:霸道女皇爱上我   蓝白社   非爱不可   梁医生又在偷偷套路我   傲世武皇