(长期更新)【渗透测试 / 护网蓝队初、中级 / 安全服务 / 重保值守】 面试题目收集
这是一篇长期更新的随笔,如有更好的面试经验 / 题目分享,欢迎联系我~
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,/**/等。
长期更新,未完待续......
热门相关:霸道女皇爱上我 蓝白社 非爱不可 梁医生又在偷偷套路我 傲世武皇