利用TCP协议实现synflood攻击
运行syn攻击程序,以靶机为目标主机对其发送syn数据包,查看目标主机状态。
利用xdos工具进行攻击
首先在192.168.1.3的目标机器上打开wireshark,过滤出ip.dst=192.168.1.3的IP包。
再在192.168.1.2的发动攻击的主机上输入命令:192.168.1.3 135 -t 3 -s 55.55.55.55。
利用wireshark软件抓取SYN数据包
返回192.168.1.3机器,可以看到出现大量包:
课后习题:
如何防范xdos攻击:
定期扫描现有的网络主节点,清查可能存在的安全漏洞,对新出现的漏洞及时进行清理。
在骨干节点配置防火墙。防火墙本身能抵御Ddos攻击和其他一些攻击。在发现受到攻击的时候,可以将攻击导向一些牺牲主机,这样可以保护真正的主机不被攻击。
充分利用网络设备保护网络资源。
防病毒软件对于dos攻击来说是无效的。
根据TCP/IP协议,发送端发出SYN后,接收端返回SYN+ACK。
SQL注入原理-手工注入access数据库
SQL注入是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令。
找到有注入漏洞的目标网站
在网站链接的末尾添加',and 1=1、and 1=2来验证网站192.168.1.3:8008存在注入点:
猜解表名
在链接末尾添加语句and exists(select * from admin),页面正常,说明存在表名admin:
用同样的方法证明存在列password。
猜测字段内容
在链接末尾说如语句and (select top 1 len (admin) from admin)>1,逐渐增加1知道页面出错,说明字段长为5:
用同样的方法,猜解除第一条记录第一位字符ASCII码为97,admin字段内容为admin,password字段内容为bfpms。
课后习题
如何高效地进行猜测:不要盲目遍历所有可能,而是从常规情况入手,例如admin字段内容常为admin;又如,采用二分法猜测字段长度,比如长度>1成功,长度>10错误,则可从5开始检查。
SQL注入原理-手工联合查询注入技术
检测字段长度
检测链接192.168.1.3:8008/onews.asp?id=45,在后面添加order by 11时显示正常,添加order by 12时错误,说明此站字段长度为11:
暴露管理员用户、密码
在连接后面添加语句union select 1,2,3,4,5,6,7,8,9,10,11 from admin,页面显示数字2和3:
再添加语句union select 1,admin,password,4,5,6,7,8,9,10,11 from admin,即可暴露出用户名和密码:
课后习题
联合查询可合并多个相似的选择查询的结果集。等同于将一个表追加到另一个表,从而实现将两个表的查询组合到一起,使用谓词为UNION或UNION ALL。
SQL注入原理 -万能密码注入
用户进行用户名和密码验证时,网站需要查询数据库,查询数据库就是执行SQL语句。
访问目标站点
打开网页192.168.1.3:8009,输入用户名admin,密码2' or ' 1,即可进入论坛。
DVWA之php+mysql手工注入
在用户的输入没有为转义字符过滤时,就会发生SQL injection形式的注入式攻击,它会被传递给一个SQL语句,这样就会导致应用程序的终端用户对数据库上的语句实施操纵。
打开192.168.1.3:8080/dvwa/login.php,输入用户名和密码登陆。将DVWA的安全级别调整为low,选择SQL injection,进入页面。当如输入正确的用户ID时,将显示相关信息:
当输入'时则报错:
输入1 or 1=1时并没有达成遍历数据库表的目标,猜测程序将此处看成了字符型,可以尝试:1' or '1' =' 1后遍历出所有内容:
由下图判断查询结果值为2列:
通过使用user() databse() version()三个内置函数得到数据库的账户名、数据库名、版本信息:
通过注入1' and 1=2 union select 1,schema_name from information_schema,schemata --获取所有数据库名字:
猜解dvwa数据库中的表名:
猜解字段名:
通过代码可以看出,对输入的值没有进行任何过滤就直接放入了SQL语句中,带来了极大隐患。
中等等级代码分析
对输入的$id进行mysql_real_escape_string()函数处理,但只需要将攻击字符转换一下编码格式即可绕过防护函数。
高等级代码分析
对输入$id进行stripslashed()和mysql_real_escape_string()函数处理,断绝了注入的存在。
动网论坛8.2经典注入漏洞利用
动网8.2在用户登录时过滤不严,可以导致注入,提升权限。
正常注册登录
访问192.168.1.3:8010/,然后注册
漏洞测试与利用
使用san' and 'a' =' a的用户名和密码1234567登录,显示:
输入';update dv_user set usergroupid=1 where username='san'--,提示用户名不存在:
但是重新登录san时可看到已经拥有管理员的权限:
退出,输入密码为san';insert into dv_admin(username,password,flag,adduser)....,从管理员页面192.168.1.3:8010/admin使用san用户名和密码登陆,发现登陆成功。
课后习题
html注入不同于sql注入;name=zhang中的zhang没有加引号。
跨站脚本攻击之反射型XSS
CSS指的是恶意攻击者往web页面里插入恶意代码,用户浏览该页时,嵌入其中的html代码会被执行,从而达到恶意攻击用户的目的。
打开测试站点
打开网页192.168.1.3:8006/input.htm,输入hello并提交,结果正常。
在站点中输入XSS代码
输入XSS代码提交,弹出对话框
课后习题
反射型XSS触发是主动触发的。
跨站脚本攻击之存储型XSS
跨站脚本攻击是指,用户可以向web页面里插入恶意html代码,当用户浏览该页时,html代码会自动执行从而达到恶意攻击用户的目的。
寻找XSS漏洞
登陆192.168.1.3:8080/2点击在线留言。经过尝试发现页面对输入文字长度进行了限制。
XSS漏洞利用
在留言标题处输入*/提交,再在标题处输入
当管理员进入管理后台后,查看留言管理,会触发恶意代码成功弹窗:
课后习题
如何判断页面存在XSS:采用盲打策略, 在对数据提交后展现的后台未知的情况下,网站采用了攻击者插入了带真实攻击功能的xss攻击代码(通常是使用script标签引入远程的js)的数据。通俗讲就是见到输入框就输入提前准备的xss代码。
XSS其他利用方式:反射型xss,相对于存储型xss来说比较鸡肋;需要欺骗用户点击构造好的链接,达到窃取cookie,或是进一步CSRF劫持用户操作的目的。
存储型XSS不能盗取管理员cookie,因为权限不够,只能获取一般用户的cookie。
Csrf利用管理员权限创建后台管理账户
通过普通用户的存储型XSS实现创建管理员账户的CSRF利用。
测试漏洞
打开192.168.1.3:8007,注册用户,登陆,添加二手信息并提交。弹出信息,说明漏洞存在:
利用漏洞
再添加一个物品,在物品内容处填写事先编写好的脚本,以管理员身份登陆系统并点击这个物品网页查看。退出后进入管理员系统,看到管理员中多了一个用户zhangsan:
并可直接以zhangsan的身份登陆管理员系统:
课后习题
DSRF漏洞的利用原理:与XSS不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。