Web渗透技巧分析 – 作者:南京聚铭网络

当前,随着信息网络的不断发展,人们的信息安全意识日益提升,信息系统的安全防护措施也逐渐提高,通常都会在服务器的互联网边界处部署防火墙来隔离内外网络,仅仅将外部需要的服务器端口暴露出来。采用这种措施可以大大的提高信息系统安全等级,对于外部攻击者来说,就像关闭了所有无关的通路,仅仅留下一个必要入口。

image.png

但,在这种状态下,仍然有一类安全问题无法避免,那就是web漏洞。其形成原因是程序编写时没有对用户的输入字符进行严格的过滤,造成黑客可以精心构造一个恶意字符串达到自己的目的。

那么,怎么才能发现有没有此类安全问题呢?下面我们就来列举几个比较简单的渗透技巧。

XSS漏洞

尽可能找到一切用户可控并且能够输出在页面代码中的地方,比如下面这些:URL的每一个参数、URL本身、表单、搜索框常见的场景(包括有评论区、留言区、个人信息、订单信息、搜索框、当前目录、图片属性等等),然后输入代码<script>alert(hello)</script>。如果如下图所示,那么请注意了,你的系统很可能中了跨站脚本攻击。

image.png

跨站脚本攻击XSS恶意攻击者会往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码就会被执行,从而达到恶意攻击用户的目的。

XSS攻击针对的是用户层面的攻击!存储型XSS,持久化,代码是存储在服务器中的,例如在个人信息或发表文章等地方插入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。这种XSS会比较危险,容易造成蠕虫,盗窃cookie等等。

SQL注入

【针对的SQL语句:$sql=”select*from admin where id=”.$id;】

正常访问:www.linuxtest.com/test2.php?id=1

查找注入点:

1、非正常访问www.linuxtest/test2.php?id=1’,结果返回非正常页面,说明可能有注入节点存在,继续下面的验证。

2、继续非正常访问www.linuxtest/test2.php?id=1 and 1=1,结果返回正常页面。

3、继续非正常访问www.linuxtest/test2.php?id=1 and 1=2,结果返回非正常页面,有注入节点,可以直接在id=1后面增加攻击SQL语句。

【其他SQL1语句:$sql=”select*from admin where id=$id”;】

与上面相同

【其他SQL2语句:$sql=”select*from admin where id=‘{$id}’”;】

此时存在注入点,但是我们必须消除单引号才能进行相应的攻击SQL的插入,方法有:

增加(and ‘=)进行消除;例如:test2.php?id=1′ union select 1,2,3 and ‘=;结果SQL为:select*from admin where id=’1’ union select 1,2,3 and ‘=’

增加(and “=’)、(union select 1,2,’3)等等。

这里只是一种简单的举例,还有更多的可以自行百度参考。

由于系统环境不同,攻击者可能造成的损害也不同,这主要由应用访问数据库的安全权限决定。如果用户的帐户具有管理员或其他比较高级的权限,攻击者就可能对数据库的表执行各种他想要做的操作,包括添加、删除或更新数据,甚至可能直接删除表。

上面是直接手动操作,下面带领大家见证burp_suite工具渗透。

当你需要发起某个请求时候,将拦截系统处于启动状态如下图所示(以某网站示例):

image.png

image.png

当你进入到想修改的页面,篡改参数后点击关闭,如果成功,页面会返回你修改的参数,这就是拦截篡改漏洞。

image.png

image.png

结果:

image.png

大部分情况下,burpsuite都是通过篡改参数来完成漏洞攻击的,可以看到网页直接被篡改掉,这种情况不仅客户体验降低,同时会面临运营风险,甚至法律风险,产生公关危机等一系列风险。

来源:freebuf.com 2021-03-03 15:30:26 by: 南京聚铭网络

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论