当前,随着信息网络的不断发展,人们的信息安全意识日益提升,信息系统的安全防护措施也逐渐提高,通常都会在服务器的互联网边界处部署防火墙来隔离内外网络,仅仅将外部需要的服务器端口暴露出来。采用这种措施可以大大的提高信息系统安全等级,对于外部攻击者来说,就像关闭了所有无关的通路,仅仅留下一个必要入口。
但在这种状态下,仍然有一类安全问题无法避免,那就是web漏洞。其形成原因是程序编写时没有对用户的输入字符进行严格的过滤,造成黑客可以精心构造一个恶意字符串达到自己的目的。
那么,怎么才能发现有没有此类安全问题呢?下面我们就来列举几个比较简单的渗透技巧。
XSS漏洞
尽可能找到一切用户可控并且能够输出在页面代码中的地方,比如下面这些:URL的每一个参数、URL本身、表单、搜索框常见的场景(包括有评论区、留言区、个人信息、订单信息、搜索框、当前目录、图片属性等等),然后输入代码<script>alert(hello)</script>。如果如下图所示,那么请注意了,你的系统很可能中了跨站脚本攻击。
跨站脚本攻击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工具渗透。
当你需要发起某个请求时候,将拦截系统处于启动状态如下图所示(以某网站示例):
当你进入到想修改的页面,篡改参数后点击关闭,如果成功,页面会返回你修改的参数,这就是拦截篡改漏洞。
结果:
大部分情况下,burpsuite都是通过篡改参数来完成漏洞攻击的,可以看到网页直接被篡改掉,这种情况不仅客户体验降低,同时会面临运营风险,甚至法律风险,产生公关危机等一系列风险。
看完上述内容,你们对如何进行Web渗透技巧分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
文章标题:如何进行Web渗透技巧分析,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/29035