Exemple #1
0
 def execute(self, sql, data=[]):
     data = tuple(data)
     st = 'Excute sql: %s with data %s' if data else 'Excute sql: %s'
     log.debug(st % (sql, data))
     status = self.cursor.execute(sql, list(data))
     self.conn.commit()
     return status
Exemple #2
0
 def get_shell(self, sid=None):
     if not sid:
         log.debug('Get all shell')
         return self.db.getList('box')
     log.debug('Get shell with sid: %s' % sid)
     if isinstance(sid, int):
         return self.db.getOne('box', condition={'id': sid})
     elif isinstance(sid, dict):
         return self.db.getOne('box', condition=sid)
Exemple #3
0
 def upload(self):
     path, _ = QFileDialog.getOpenFileName(self, "Open file", "",
                                           "All files (*.*)")
     rpath = self.sep.join((self.current_folder, os.path.split(path)[1]))
     log.debug('Upload file to %s' % rpath)
     if not path:
         return
     with open(path, 'rb') as f:
         self.chk_data(self.filemanager.uploadfile(rpath, f.read().hex()))
     self.list_dir(self.current_folder)
Exemple #4
0
    def generate(self, pl, code='utf-8'):
        pl = pl.encode(code)
        if self.type.lower() == 'asp':
            return self.base.replace('action', ba.hexlify(pl).decode(code))

        if self.type.lower() == 'php':
            flag = 'print "%s";' % self.flag
            pl = flag + pl.decode(code) + flag
            pl = pl.encode(code)
        log.debug('Playload: %s' % pl.decode(code))
        return self.base.replace('action', b64.b64encode(pl).decode(code))
Exemple #5
0
 def chk_data(self, ret):
     log.debug(ret)
     data = ''
     if ret[0] != 200:
         QMessageBox.information(self, ret[1], str(ret[2]))
         return data
     try:
         data = ret[2]  # .decode(self.coder)
         log.info('Get data:\n%s' % data)
         if data == '1':
             self.mw.statusbar.showMessage('Operation finished :)')
         else:
             self.mw.statusbar.showMessage('Operation failed :(')
     except Exception as e:
         QMessageBox.information(self, 'ERR', str(e))
         log.exception(e)
     return data
Exemple #6
0
    def download(self):
        path, _ = QFileDialog.getSaveFileName(self, "Save file", "",
                                              "All files (*.*)")
        current = self.rightView.currentItem()
        if not path or not current:
            return

        # data = self.chk_data(self.filemanager.downfile(self.current_file))
        log.debug('Download file %s' % self.current_file)
        ret = self.filemanager.downfile(
            self.sep.join((self.current_folder, current.text(0))))
        log.debug(ret)
        if ret[0] == 200:
            with open(path, 'wb') as f:
                f.write(ret[2].encode(self.coder))
            self.mw.statusbar.showMessage('Save data success :)')
        else:
            self.mw.statusbar.showMessage('Download failed :(')
Exemple #7
0
def chk_data(ret, msg_widget=None):
    log.debug(ret)
    data = ''
    if ret[0] != 200:
        QMessageBox.information(None, ret[1], str(ret[2]))
        return data
    try:
        data = ret[2]       # .decode(self.coder)
        log.info('Get data:\n%s' % data)
        if not msg_widget:
            return data
        if data == '-1':
            msg_widget.showMessage('Operation failed :(')
        else:
            msg_widget.showMessage('Operation finished :)')
        return data
    except Exception as e:
        QMessageBox.information(None, 'ERR', str(e))
        log.exception(e)
Exemple #8
0
 def get_cache(self, sid, path):
     log.debug('Get site (%s) cache path (%)' % (sid, path))
     return self.db.getOne('site_cache', 'cache', dict(sid=sid, path=path))
Exemple #9
0
 def add_path(self, sid, path, content):
     log.debug('Add site (%s) path (%s) cache (%)' % (sid, path, content))
     return self.db.insert('site_cache', dict(sid=sid, path=path, cache=content))
Exemple #10
0
 def delete_shell(self, sid):
     log.debug('Delete shell %s' % sid)
     if isinstance(sid, dict):
         return self.db.delete('box', sid)
     else:
         return self.db.delete('box', dict(id=sid))
Exemple #11
0
 def update_shell(self, sid, data):
     log.debug('Update shell %s with data: %s' % (sid, data))
     return self.db.update('box', data, dict(id=sid))
Exemple #12
0
 def add_shell(self, shell):
     log.debug('Add shell: %s' % shell)
     self.db.insert('box', shell)
Exemple #13
0
 def delete_cache(self, sid, path=None):
     log.debug('Delete site (%s) path (%s) cache' % (sid, path))
     condition = dict(sid=sid, path=path) if path else dict(sid=sid)
     return self.db.delete('site_cache', condition)
Exemple #14
0
 def update_cache(self, sid, path, content):
     log.debug('Update site (%s) path (%s) cache (%)' % (sid, path, content))
     return self.db.update('site_cache', dict(cache=content), dict(sid=sid, path=path))
Exemple #15
0
 def POST(self, params):
     data = self.pwd + '=' + params
     log.debug('Params: %s' % params)
     return self.request(self.url, data, self.encoding)
Exemple #16
0
 def delete_file(self):
     # path = self.get_path(self.rightView.currentItem(), 0)
     log.debug('del %s' % self.current_file)
     self.chk_data(self.filemanager.deletefile(self.current_file))