2017.4.25 Foshan渗透测试


渗透测试思路:

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)到另一个页面。

先是要用正确的口令测试,看看登录成功后返回的是什么状态码。
然后再依据这个去判断爆破。

之前只会看返回包的长度。
下次还可以试试,在登录成功后,截取一些信息,然后放进判断里面。


会话管理模式测试

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


csrf测试

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


tips:

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

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

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

  • post数据包,如果不能直接复现的话,那么就要写出相应的模块。貌似有很多post数据包都是不行的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值