当前位置: 首页 > news >正文

虐做视频网站沈阳市铁西区建设局网站

虐做视频网站,沈阳市铁西区建设局网站,网站后台图片传不上去怎么办,徐州制作手机网站目录 1.什么是二次注入? 2.二次注入过程 2.1寻找注入点 2.2注册admin#用户 2.3修改密码 1.什么是二次注入? 当用户提交的恶意数据被存入数据库后,因为被过滤函数过滤掉了,所以无法生效,但应用程序在从数据库中拿…

目录

1.什么是二次注入?

2.二次注入过程

2.1寻找注入点 

2.2注册admin'#用户

2.3修改密码


1.什么是二次注入?

当用户提交的恶意数据被存入数据库后,因为被过滤函数过滤掉了,所以无法生效,但应用程序在从数据库中拿出该用户名时没有对'和#进行转义,导致将密码的检测注释了,虽然看似后端代码将我们输入的'进行了转义,但是当将输入的数据存储到数据库中时,会将'加上存储的(数据库存储数据的特征),这样就实现了二次注入,也叫做存储型SQL注入。

2.二次注入过程

登录页面

注册页面 

 修改密码页面

2.1寻找注入点 

进行一些简单的测试,发现都无法成功 

查看后端代码发现,后端代码对我们输入的登录用户名和密码进行了过滤,因此无法注入

function sqllogin(){$username = mysql_real_escape_string($_POST["login_user"]);  //过滤了单双引号$password = mysql_real_escape_string($_POST["login_password"]);//过滤了单双引号$sql = "SELECT * FROM users WHERE username='$username' and password='$password'";
//$sql = "SELECT COUNT(*) FROM users WHERE username='$username' and password='$password'";$res = mysql_query($sql) or die('You tried to be real smart, Try harder!!!! :( ');$row = mysql_fetch_row($res);//print_r($row) ;if ($row[1]) {return $row[1];} else {return 0;}}

但是发现pass_change.php文件中,修改密码时,当从数据库中找出所修改的用户的密码时,没有对username进行过滤,导致出现二次注入点。

if (isset($_POST['submit']))
{# Validating the user input........$username= $_SESSION["username"];$curr_pass= mysql_real_escape_string($_POST['current_password']);$pass= mysql_real_escape_string($_POST['password']);$re_pass= mysql_real_escape_string($_POST['re_password']);if($pass==$re_pass){	$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";$res = mysql_query($sql) or die('You tried to be smart, Try harder!!!! :( ');$row = mysql_affected_rows();echo '<font size="3" color="#FFFF00">';echo '<center>';

我们是否可以先注册一个类似admin'#的用户,然后当对admin‘#用户进行修改密码时来进行注入呢?话不多说,直接开干

2.2注册admin'#用户

发现可以注册,与我们设想的一样

然后进行登录

顺利登录,此时页面显示YOU ARE LOGGED IN AS admin'#

2.3修改密码

根据pass_change.php文件的代码分析,current password可以随便填写,只要New Password等于Retype Password,程序就会进入if语句中,sql语句就会生效

if (isset($_POST['submit']))
{# Validating the user input........$username= $_SESSION["username"];$curr_pass= mysql_real_escape_string($_POST['current_password']);$pass= mysql_real_escape_string($_POST['password']);$re_pass= mysql_real_escape_string($_POST['re_password']);if($pass==$re_pass){	$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";$res = mysql_query($sql) or die('You tried to be smart, Try harder!!!! :( ');$row = mysql_affected_rows();echo '<font size="3" color="#FFFF00">';echo '<center>';

此时我们将修改的密码进行提交后,admin'#进入sql语句中,上述sql语句就会变为 

$sql = "UPDATE users SET PASSWORD='$pass' where username='$admin'#' and password='$curr_pass' ";

标红的地方就会被注释掉,就会成功修改admin的密码

此时我们使用admin用户进行登录,测试admin的密码是否被修改

可以见到,我们确实用admin用户成功登录,在这之前我们是不知道admin用户的密码的

这就是sql二次注入,可以利用它来修改任意用户的密码,所以危害是比较大的

http://www.yayakq.cn/news/580902/

相关文章:

  • 济南手机网站制作嵌入式培训学校
  • 微信的网站怎么做网站首页的动态效果图怎么做
  • 公司网站建设的分类企业信用信息查询公示系统浙江
  • 网站开发数据库课程设计免费WordPress的产品展示
  • 织梦响应式茶叶网站布展设计公司
  • 大型网站建站公司torrentkitty磁力猫引擎
  • 网站开发的知识论文个人网站建设
  • 在线做ppt的网站有哪些问题wordpress+小米
  • 培训课程网站建设吉林省住房城乡建设网站
  • 荣耀官方网站手机商城百色优惠welcome
  • 成都网站建设全平台顺德做网站推广哪家好
  • 网站建设和seo是什么关系平面设计在哪里接单
  • 文件上传网站源码软件开发工具的发展趋势是
  • 本地拖拽网站建设建网站的大公司
  • erp二次开发好还是网站开发好浙江做网站套餐
  • 江苏省建设工程地方标准网站保定专业做网站的公司
  • 服务器怎么做看视频的网站门户网站有什么特点
  • 什么叫精品网站建设seo推广视频隐迅推专业
  • 网站开发职业技能简历自己的网站怎么推广
  • 企业外部网站建设描述网站建设的具体流程
  • 快速建站的公司公司网站建设怎么计费
  • 网站运营怎么学2022最火的新零售模式
  • 怎么把网站设置为主页面uniapp小程序开发教程
  • 网站用不用备案网站推广和宣传的方法
  • 佛山智唯网站建设北京网站建设报价明细
  • 网站建设开发电销话术辽阳专业网站建设品牌
  • 2019一个网站开发要多少钱上海猎头公司前十名
  • wordpress电影采集网站权重优化
  • 网络营销方案的范文石家庄抖音seo公司
  • 网页免费制作网站网络公司网站赏析