2017-2018-2 20179215《网络攻防实践》第五周作业

《网络攻防实践》 第五周 学习总结

实践.SQL注入实验

实验环境

1.运行Apache Server:镜像已经安装,只需运行命令#sudo service apache2 start

2.phpBB2 web应用:镜像已经安装,通过http://www.sqllabmysqlphpbb.com访问,应用程序源代码位于/var/www/SQL/SQLLabMysqlPhpbb/

3.配置DNS:上述的URL仅仅在镜像内部可以访问,原因是我们修改了/etc/hosts文件使http://www.sqllabmysqlphpbb.com指向本机IP 127.0.0.1。如果需要在其他机器访问,应该修改hosts文件,使URL映射到phpBB2所在机器的IP。

4.找到/etc/php5/apache2/php.ini,找到magic_ quotes_ gpc = On这一行改为magic_quotes_ gpc = Off

在之前的实验中实验环境已经搭配好了。

关闭对抗措施

PHP提供了自动对抗SQL注入的机制,被称为magic quote,我们需要关闭它。

1.找到/etc/php5/apache2/php.ini

2.找到magic_ quotes_ gpc = On这一行

3.改为magic_ quotes_ gpc = Off

4.重启Apache:sudo service apache2 restart

对SELECT语句的攻击

此次任务,你需要通过访问虚拟机内的URL:www.sqllabmysqlphpbb.com。在进入phpBB之前系统会要求你登陆。这个登陆认证由服务器上的login.php实现,需要用户输入用户名和密码来通过认证。
实现过程如下:

那么当我们访问:www.sqllabcollabtive.com;但我们知道用户而不知道到密码的时候,我们可以怎么登陆?

(1)查看登陆验证文件:

(2)修改sql语句为:

(3)修改完后重启一下服务器:
sudo service apache2 restart

(4)点击登陆以后,我们就可以绕过密码直接登录:

对UPDATE语句的攻击

当用户想要在phpBB2中修改他们的资料时,可以点击Profile,然后填写表单修改。用户发送修改请求后,会执行include/usercp_register.php中的一条UPDATE SQL语句。

对抗SQL注入

  1. 使用magic_quotes_gpc避开特殊字符。

  1. 使用addslashes()来避开特殊字符。

  2. 使用mysql_real_escape_string避开特殊字符。

  3. Prepare Statement。

Kali视频学习

数据库评估(一)

WEB层数据库连接的漏洞在安全测试中并不少见,OWASP曾经的Top10之首,SQL注入漏洞也因此产生。

Kali下数据评估的工具:

1.BBQSql(半自动):

2.DBPwAudit(数据库用户名密码枚举工具)

3.HexorBase(实用)

图形化的密码破解与连接工具,开源;连接并且控制数据库执行一些语句。

输入ip就可以成功连接到mysql数据库中。

4.JSQL Injection

jSQL是一款轻量级安全测试工具,可以检测SQL注入漏洞。它跨平台(Windows、Linux、Mac OS X、Solaris),开源且免费。将存在注入漏洞的URL贴进来即可进行响应的漏洞利用。

5.MDBTools

6.Oracle Scanner

7.SIDGusser

针对Oracle的SID进行暴力枚举;SID为Oracle实例名,Oracle连接字符串:实例名+用户+密码

8.SqlDICT(用户名密码枚举工具)

数据库评估(二)

1.tnscmd10g(不常用)

允许向Oracle数据库注入命令

2.Sqlsus

3.Sqlninja

Sqlninja是一款perl编写的,侧重于获得一个shell。Sqlninja是专门针对Microsoft SQLServer的sql注入工具。可找到远程SQL服务器的版本和特征;对管理员口令“sa”进行强力攻击;一旦找到口令就将特权提升到“sa”权限;如果原始的xp_ cmdshell被禁用后,就创建一个定制的xp_ cmdshell;不需要FTP连接;为了找到目标网络的防火墙所允许的端口,可以实施针对目标SQL服务器的TCP/UDP端口扫描;逃避技术,使注入代码“模糊”不清,并且混淆/绕过基于强命的IPS和应用层防火墙;采用“盲目执行”攻击模式,可以用于发布命令并执行诊断;如果得到权限为sa,可以结合msf进一步对目标主机进行渗透。

4.Sqlmap

SQLMAP是一个开源的渗透测试工具,是用Python编写。主要用于自动化的侦测和实施SQL注入攻击以及渗透数据库服务器。配有强大的侦测引擎,适用于高级渗透册书用户,不仅可以获得不同的数据库指纹信息,还可以从数据库中提取数据,有很强大的抓取数据的能力。

常用命令:

SQLMap还有很多功能,如绕过WAF的tamper,修改UA的random-agent等等参数,需要在实际中灵活使用。

Web应用代理

通过web应用代理工具分析数据包,或修改数据包重放、暴力攻击等在WEB安全测试中经常用到。

web应用代理工具有:burpsuite、owasp-zap、paros、vega、webscarab、proxystrike

1.Burp Suite

Burp Suite是用于攻击web应用程序的集成平台。Burp Suite带有一个代理,通过默认端口8080运行,使用这个代理,可以截获并修改从客户端到web应用程序的数据包。

它包含了一系列burp工具,这些工具之间有大量接口可以互相通信,这样设计的目的是为了促进和提高整个攻击的效率。平台中所有工具共享同一robust框架,以便同意处理HTTP请求,持久性,认证,上游代理,日志记录,报警和可扩展性。

2.OwaspZAP

OWASP Zed Attack Proxy Project攻击代理(简称ZAP),是一款查找网页应用程序漏洞的综合类渗透测试工具。它包含了“拦截代理、自动处理、被动处理、暴力破解、端口扫描以及蜘蛛搜索”等功能。OwaspZAP为会话类调试工具,调试功能对网站不会发起大量请求,对服务器影响较小。

视频当中没有过多介绍,详细使用可以参考简书的这篇文章https://www.jianshu.com/p/78d7d4ad8054

3.Paros

paros proxy,这是一个对web应用程序的漏洞进行评估的代理程序,即一个基于Java的web代理程序,可以评估web应用程序的漏洞。它支持动态的编辑/查看HTTP/HTTPS,从而改变cookies和表单字段等项目。

它包括一个web通信记录程序,web圈套程序(spider),hash计算机,还有一个可以测试常见的web应用程序攻击的扫描器。该工具检查漏洞形式包括:SQL注入、跨站点脚本攻击、目录遍历等。

4.Vega代理功能

Vega是一个开放源代码的web应用程序安全测试平台,Vega能够帮助你验证SQL注入、跨站脚本(XSS)、敏感信息泄露和其他一些安全漏洞。Vega使用Java编写,有GUI。

5.Webscarab

Webscarab一款代理软件,包括HTTP代理,网络爬行、网络蜘蛛、会话ID分析,自动脚本接口,模糊测试工具,WEB格式的编码/解码,WEB服务描述语言和SOAP解析器等功能模块。Webscarab基于GNU协议,使用Java编写,是WebGoat中所使用的工具之一。

漏洞分析fuzz工具(模糊测试工具)

1.Bed.pl

Bed(Bruteforce Exploit Detector)是一个纯文本协议的Fuzz工具,能够哦检查常见的漏洞,如缓冲区溢出,格式串漏洞,整体溢出等。

2.Fuzz_ipv6

THC出品的针对IPV6协议的模糊测试工具。

3.Ohrwurm

4.PowerFuzzer

5.Wfuzz

针对web应用的模糊测试工具,可以进行web应用暴力猜解,也支持对网站目录、登录信息、应用资源文件等的暴力猜解,还可以进行get及post参数的猜解,sql注入,xss漏洞的测试等,该工具所有功能都依赖于字典。

6.SFuzz

7.XSSer

xsser --gtk 图形化界面

对一个页面或点进行xss测试,判断是否有XSS的漏洞。

原文地址:https://www.cnblogs.com/yl-930/p/8746883.html