您的位置:首页 > 其它

2017.4.25 Foshan渗透测试

2017-04-26 22:37 134 查看
渗透测试思路

http方法测试

SQL注入
测试流程

利用

文件上传测试
修改头像

文件上传

程序报错测试
什么样的错误才算是程序报错

修复方案

tips

暴力破解测试

越权修改

弱口令测试

会话管理模式测试

csrf测试

tips

渗透测试思路:

1.找到所有输入点

先浏览一遍需要测试的功能模块,需要重点关注的有

修改头像

上传功能

参数位置

http方法测试:

改数据库包:OPTIONS方法

返回包会告诉你,服务器可以使用的http方法



尝试利用,就改为put,或者delete。

返回包会告诉你是允许还是不允许

允许的话,就可以利用。

比如put方法,就可以向服务器上写一句话木马

修复方案:

一般建议关闭除get,post,head之外的方法

SQL注入

测试流程:

一般测试就是在输入点加入,单引号或and或or

为什么这么测试呢?

一个单引号,发现页面改变,那么这个时候就说明网站没有过滤掉单引号,这个输入会对网站的Sql查询造成影响,那么这个点就很可能是一个注入点

and 1=1,and 1=2,如果前后页面不同,那么这个点就很可能是一个注入点,同理也是,因为你的输入会污染了原来的语句。

进阶测试:

union select联合查询、爆数据库信息

order by ,查字段数

思路:

猜测sql语句,是字符型还是数字型

利用:

一般存在注入的话,优先使用手工验证,因为用sqlmap跑的话,容易污染数据库。

sqlmap跑post数据包的时候,如果是下面这种数据,不像普通的键值对,那么就可以在其中某个参数加入*,接下来sqlmap跑的时候就会问你要不要测试这个参数。

<request type="json"><![CDATA[{"action":"resolve-data","dataResolver":"sdbf.security.userQxViewInterceptor#saveTxl","dataItems":[{"alias":"txl","data":{"$isWrapper":true,"$dataType":"v:sdbf.security.view.UserQxView$Txl","data":{"czryDm":"24406000076","xb":"0","yddh":"13225771111","jtdh":"","bgsdh":null,"czdh":null,"email":null,"msn":null,"qq":null,"$dataType":"v:sdbf.security.view.UserQxView$Txl","$state":2,"$entityId":"17"}},"refreshMode":"value","autoResetEntityState":true}],"context":{}}]]></request>
</batch>


文件上传测试

修改头像

有些是上传图片后,会经过渲染的,这种情况就比较难利用

文件上传

什么服务器软件对应什么上传的脚本?

Apache:

iis:

任意文件上传后:

找路径, 如果文件是上传到web目录外的一个临时文件夹,就比较难利用。

任意文件上传后,但是不能利用,那么也算是危害吗?

算,

怎么修复任意文件上传的问题?

在后台,等文件上传到后台后再对文件的后缀进行条件判断,看看是不是属于非法的后缀名。

黑名单策略:

如果有一个比较完善的黑名单,这个策略也是可以使用的。

白名单策略:

如果一般是处理.xlsl,.doc,.txt,这些文档文件居多的话,建议使用白名单策略,这样就避免黑名单里面有漏的。

还有别的修复方法吗?



3,在测试gdpu内网的教务系统就碰到了,网站会重命名文件,比如你上传php,它会重命名为php.doc等。

4,不在web目录下,这个时候web就无权去访问上传的脚本了 。

6,最小的权限最大的安全。

程序报错测试

什么样的错误才算是程序报错?



修复方案

设置一个错误页面,统一返回那个页面

tips:

有时候web前端页面会返回一些错误,在数据的返回包中有更详细的错误数据



暴力破解测试

今天暴力测试居然一开始测的字段是用户名,应该是密码字段去爆破。

用户名爆破

密码爆破

密码字段爆破

用户名爆破

用户名和密码怎么同时爆破?

就是有2个payload 需要加载list

越权修改

今天遇到的情况是,服务器端只对原用户名和原密码是否相同进行验证,如果相同则允许修改。

这个时候在修改密码处,代理截包,遍历用户名。

那么同密码的用户均可以被修改。

弱口令测试

还是有定向思维以为返回是200,ok就是认证成功。

其实有一些是登录成功后,重定向(302)到另一个页面。

先是要用正确的口令测试,看看登录成功后返回的是什么状态码。

然后再依据这个去判断爆破。

之前只会看返回包的长度。

下次还可以试试,在登录成功后,截取一些信息,然后放进判断里面。

会话管理模式测试

不同浏览器,或者在不同机子上登录同一个账户后,还要试着看两边能不能进行操作。
4000

csrf测试

用2个不同的账户,然后在修改资料处截包,替换cookie,看看能否修改他人资料。

tips:

如果客户需求的是测试某个网站相应的模块,就不要测试其余的模块,浪费时间且不符合客户的需求。

一般不要登录后,扫描,因为扫描器会对用户的数据造成无法恢复的影响。

但是基本的还是要扫描一下端口,一些基本的情况的信息,毕竟报告一开始需要写明这些基本信息。

post数据包,如果不能直接复现的话,那么就要写出相应的模块。貌似有很多post数据包都是不行的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: