• Atitit.木马病毒websql的原理跟个设计


    Atitit.木马病毒websql的原理跟个设计

     

     

    1. Keyword 

    Wsql

     

     

    {

    var sql="select "+p.txt+" as t,"+p.v+" as v from "+p.tb;

    logx(sql);

    var mp="&$method=com.attilax.sql.SqlService.exe&$callback=page_load_callback&$mod=userMod&$view_store_path=com/attilax/order&$op=insert¶m1="+encodeURIComponent(sql);

    HRE.exe(mp,SelecertDataBinder_callback);

    }

    作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

    转载请注明来源: http://www.cnblogs.com/attilax/

     

     

    package com.attilax.sql;

     

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.PreparedStatement;

    import java.sql.ResultSet;

    import java.sql.SQLException;

    import java.util.ArrayList;

    import java.util.List;

    import java.util.Map;

     

    import org.apache.commons.dbutils.QueryRunner;

    import org.apache.commons.dbutils.handlers.MapListHandler;

     

    import aaaCfg.ConnectionImp;

    import aaaCfg.IocX;

     

    import com.attilax.core;

    import com.attilax.biz.seo.getConnEx;

    import com.attilax.io.pathx;

    import com.attilax.persistence.DBCfg;

    import com.attilax.persistence.DbutilX;

    import com.attilax.time.timeUtil;

    import com.google.inject.Inject;

     

     

    /**

     * q317  

     * com.attilax.sql.SqlService

     * @author Administrator

     *

     */

    public class SqlService {

     

     

     

    public Object exe(String sql) {

    if(sql.trim().toLowerCase().startsWith("update") || sql.trim().toLowerCase().startsWith("insert"))

    {

     

    return  execSql_retInt(sql);

    }

    return executeQuery(sql);

    // TODO Auto-generated method stub

    }

    public SqlService(DBCfg cfg) {

    this.dbcfg=cfg;

    }

     

    public SqlService(Connection conn) {

    this.conn=conn;

    }

     

     

    public SqlService() {

    System.out.println("-------db til  no para ini");

    }

     

     

    /**

    @author attilax 老哇的爪子

    @since   p1p g_r_w

     

     */

    public static void main(String[] args) {

    // String sql = " SELECT * FROM `mall_shop_info` sp left join  mall_user_info  ui on  sp.user_id=ui.user_id where sp.user_id=8 ";

    ////  sql= " update mall_shop_info set shop_intro='myintro5' where shop_id=8 ";

    ////  sql=sql+" ; update  mall_user_info set  user_mobile='1358891563'    where user_id=8 ";

    //sql="SELECT * FROM  mall_user_info   where  user_id=6 ; SELECT * FROM  mall_user_info   where  user_id=8 ";

    //

    //  sql="select * from hx_car where name like '%豪车%'";

    // DbutilX c= IocX.getBean(DbutilX.class);

    //// System.out.println(c.update(sql));

    //  List li=c.findBySql(sql);

     

    //  ApiX2 hc=new ApiX2();

    // hc.hbx=c;

    //

     String sql="select * from gv_material";

    DbutilX dx= IocX.getBean(DbutilX.class);

     List<Mapli=dx.findBySql(sql);

       System.out.println(core.toJsonStrO88(li));

     System.out.println("--f");

     

    }

    @Inject

    Connection conn;

    @Inject

    DBCfg dbcfg;

    String path = pathx.classPath() + "/website.properties";

    public Connection getConnection() throws getConnEx {

    if(this.conn instanceof ConnectionImp)

    this.conn=null;

    if(this.conn!=null)

    return this.conn;

    // com.microsoft.sqlserver.jdbc.SQLServerDriver

    //System.out.println(PropX.getConfig(path, "jdbc.url"));

    try {

     

    Class.forName(dbcfg.getDriver());

    catch (ClassNotFoundException e) {

    throw new RuntimeException("Class.forName driver err,drive class name is :  "+dbcfg.getDriver(),e);

    }

    //Connection conn;

    //

    //conn = DriverManager.getConnection(dbcfg.getUrl(), dbcfg.getUser(), dbcfg.getPassword());

    //

    //try {

    //

    //Class.forName("com.mysql.jdbc.Driver");

    //} catch (ClassNotFoundException e) {

    //throw new getConnEx("getconnex" + e.getMessage());

    //}

    Connection conn;

    try {

    conn = DriverManager.getConnection(

    dbcfg.getUrl(),

    dbcfg.getUser(),

    dbcfg.getPassword());

    System.out.println("get conn: "conn+" at:"+timeUtil.Now_CST());

    catch (SQLException e) {

    throw new getConnEx("getconnex" + e.getMessage());

    }

    return conn;

    }

    public List<Map> execSql(String sql)

    {

    if(sql.trim().toLowerCase().startsWith("update") || sql.trim().toLowerCase().startsWith("insert"))

    {

    int intx = update(sql);

     List li=new ArrayList ();

     li.add(intx);

    return li;

    }

    return findBySql(  sql);

    }

    public int executeUpdate(Connection conn, String string) {

    PreparedStatement prepareStatement;

    ResultSet resultSet;

    try {

    prepareStatement = conn.prepareStatement(string);

    return prepareStatement.executeUpdate() ;

     

    catch (SQLException e) {

     

     throw new RuntimeException(e);

    }

    }

     

    public Map uniqueResult(String $sql) {

    List li=findBySql($sql);

    return (Mapli.get(0);

    }

    public List findBySql(String sql)  {

    Connection conn;

     try{

    conn = getConnection();

     

    // 创建一个QueryRunner

    QueryRunner queryRunner = new QueryRunner(true);

    List<Map<String, Object>> list;

     

    list = queryRunner.query(conn,

    sql,

    new MapListHandler());

     

    return list;

     

     }

    catch (Exception e) {

     

    e.printStackTrace();

    throw new RuntimeException(e);

    }

     

    }

    public int executeUpdate(String sql) {

    // TODO Auto-generated method stub

    return  execSql_retInt(sql);

    }

    public List executeQuery(String sql)

    {

     

    // new RuntimeException(" no implt" );

    return findBySql(  sql);

    }

    public Integer execSql_retInt(String sql)

    {

     

    // new RuntimeException(" no implt" );

    return update(  sql);

    }

    public int update(String sql)  {

    Connection conn;

     try{

    conn = getConnection();

     

    // 创建一个QueryRunner

    QueryRunner queryRunner = new QueryRunner(true);

    int list;

     

    list = queryRunner.update(connsql);

     

    return list;

     

     }

    catch (Exception e) {

     

    e.printStackTrace();

    throw new RuntimeException(e);

    }

     

    }

     

     

     

    }

     

     

     

  • 相关阅读:
    js中return false,return,return true的用法及区别
    C#中关于页面缓存
    项目运行时出现webconfig="machineApplication......."之类的错误
    后台页面无法找到前台页面控件的ID
    .NET对文件的多种操作
    前台JS代码向后台传递参数
    多条件查询的Gridview分页显示
    C#中对数据做视图处理RowFilter
    JavaScript自触发时的参数传递
    Sys.WebForms.PageRequestManagerTimeoutException:服务器请求超时
  • 原文地址:https://www.cnblogs.com/attilax/p/5294209.html
Copyright © 2020-2023  润新知